ES 查询优化(二)

2022-01-24 00:00:00 查询 文档 的是 匹配 相关性

1、查询匹配

假设有
{ "tags" : ["search"] }
{ "tags" : ["search", "open_source"] }
两个文档,{ "term" : { "tags" : "search" } }都能匹配,但想只搜索包含一个的值,怎么办?
插入数据时多加一个长度字段:
{ "tags" : ["search"], "tag_count" : 1 }
{ "tags" : ["search", "open_source"], "tag_count" : 2 }
查找时加上tag_count查找即可。

GET /_search
{
"query": {
"constant_score": {
"filter": {
"term": {
"tag_count": 1
}
}
},
"term": {
"tags": "search"
}
}
}

相关文章