屬性自動映射時, 字符串會使用這樣的 mapping:
"name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
keyword 默認是原樣存儲, 適用于精確查找過濾. type 選擇比較如下:
keyword 與 text
- 當(dāng)需要全文檢索時, 用 text;
- 當(dāng)需要完全精確檢索時, 用 keyword.
- 需要
null_value
特性時, 用 keyword.
keyword 與 number(Integer Long)
- 需要范圍信息, 大小信息時, 用 number;
- 只用來做唯一標記時, 用 keyword, 比 number 更快.
https://www.elastic.co/guide/en/elasticsearch/reference/current/keyword.html