Elasticsearch字段数据与字段映射

时间:2019-06-24 13:41:01

标签: elasticsearch mapping

有人可以帮我解释一下,在Elasticsearch中进行映射时,设置字段数据和字段之间有什么区别? 例如,这两个代码有什么区别:

PUT my_index
{
  "mappings": {
    "properties": {
      "my_field": { 
        "type": "text",
        "fields": {
          "keyword": { 
            "type": "keyword" // for ordering
          }
        }
      }
    }
  }
} 

PUT my_index/_mapping
{
  "properties": {
    "my_field": { 
      "type":     "text",
      "fielddata": true  // what is the difference?
    }
  }
}

或者您能告诉我这段代码是否有意义吗?

PUT my_index
{
  "mappings": {
    "properties": {
      "my_field": { 
        "type": "text",
        "fielddata": true,
        "fields": {
          "keyword": { 
            "type": "keyword" // for ordering
          }
        }
      }
    }
  }
} 

1 个答案:

答案 0 :(得分:1)

由于主要目的是进行排序和汇总,因此请务必使用第一个选项,即keyword(子)字段。

fielddata是一种老式的方法,会占用更多的内存。

您可以找到更多详细信息以及指向相关文章here

的链接