为啥es索引模板中要设置成 "value" :{ "type" : "keyword"} ,keyword 不是不分词嘛?

{
“template”: “nebula*”,
“settings”: {
“index”: {
“number_of_shards”: 3,
“number_of_replicas”: 1
}
},
“mappings”: {
“properties” : {
“tag_id” : { “type” : “long” },
“column_id” : { “type” : “text” },
“value” :{ “type” : “keyword”}
}
}
}

ES的keyword不分词,但也是支持模糊搜索的。一般情况下,没有特殊需求都是建议使用keyword,毕竟text存储空间大。

不分词,仅仅支持模糊搜索,那么和原生索引的主要区别是什么呢

原生索引不能模糊搜索

contains 不是模糊搜索嘛

我怀疑你在忽悠我

所谓模糊搜索指:

另外lookup对where子句有限制:

欢迎多实验一些语句来熟悉我们的查询。

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。

浙ICP备20010487号