弹性搜索中多字段和复制之间的区别?

时间:2014-06-25 16:18:38

标签: elasticsearch

我在很多映射中使用多字段。在弹性搜索的文档中,有一个迹象表明多字段应该用“fields”参数替换。见http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/_multi_fields.html#_multi_fields

这很好用。但是,要将多字段作为单个字段访问,文档建议指定copy_to参数而不是path参数(请参阅http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-core-types.html#_accessing_fields

有人可以提供这种映射定义的示例(因此使用“fields”参数结合“copy_to”)。

我的印象是,如果使用fields参数,则仍需要指定path参数。如果您使用copy_to,则不再需要使用多字段方法;字段只是单独的字段,一个字段的数据在索引时复制到另一个字段。

希望有人可以提供帮助。

THX 马克

1 个答案:

答案 0 :(得分:0)

请参阅:https://www.elastic.co/guide/en/elasticsearch/reference/1.6/_multi_fields.html

copy_to允许您将first_name和last_name等不同字段合并为full_name

当您想要定义几种索引字段的方法时使用多字段。例如

// Document mapping
{
  "properties": {
    "name": {
      "fields": {
        "name_metaphone": {
          "type": "string", 
          "analyzer": "mf_analyzer"
        }, 
        "name_exact": {
          "index": "not_analyzed", 
          "type": "string"
        }
      }, 
      "type": "multi_field"
    }
  }
}
相关问题