【elasticsearch】(2) copy_to
前言:
copy_to参数允许您将多个字段的值复制到一个组字段中,然后可以将其作为单个字段进行查询。
案例:
例如,可以将first_name和last_name字段复制到full_name字段中,如下所示:
PUT my-index-000001 { "mappings": { "properties": { "first_name": { "type": "text", "copy_to": "full_name" }, "last_name": { "type": "text", "copy_to": "full_name" }, "full_name": { "type": "text" } } } } PUT my-index-000001/_doc/1 { "first_name": "John", "last_name": "Smith" } GET my-index-000001/_search { "query": { "match": { "full_name": { "query": "John Smith", "operator": "and" } } } }
-
first_name和last_name字段的值被复制到 full_name字段中。 该first_name和last_name领域仍只能查询了第一个名字和姓氏,但 full_name 字段可以查询名字和姓氏。
注意:
-
copy_to是字段值,而不是 term(由分析过程产生)。 _source不会修改原始字段。 可以将相同的值复制到多个字段,使用 "copy_to": [ "field_1", "field_2" ] 不能通过中间字段递归复制,例如 field_1 上的 copy_to 到 field_2 和 field_2 上的 copy_to 到 field_3,期望索引到 field_1 将在 field_3 中结束,而是使用 copy_to 直接复制到来自原始字段的多个字段。
上一篇:
IDEA上Java项目控制台中文乱码