键入关键字而不分析,有什么区别?

时间:2016-06-03 06:06:23

标签: elasticsearch

keyword”字段类型与在Elasticsearch中使用“not_analyzed”作为分析器的字段之间是否有任何区别?如果有,何时使用哪个?

1 个答案:

答案 0 :(得分:23)

breaking changes文档中可以看出,keyword数据类型是ES 5中的新数据类型。它旨在用{{1}替换string字段}}

所以在ES 1.x和2.x中,这个声明

"index": "not_analyzed"

等同于ES 5中的此声明

"field": {
    "type": "string",
    "index": "not_analyzed"
}

同样,"field": { "type": "keyword" } 数据类型将替换正常分析的字符串字段,因此在ES 1.x和2.x中,此声明

text

将等同于ES 5中的此声明

"field": {
    "type": "string"
}