我想在弹性搜索中搜索文档,该搜索具有以下查询标记a或b或c.但它总是返回只有c而忽略a或b的文档.任何人都可以帮忙吗?
"filtered": {
"filter": {
"term": {
"tags": ['a','b','c']
}
},
"query": {
match: {
rawText: 'filter'
}
}
}
Run Code Online (Sandbox Code Playgroud)
在Elasticsearch中,术语和术语过滤器之间存在差异.
术语过滤器:
{
"constant_score" : {
"filter" : {
"term" : { "user" : "kimchy"}
}
}
}
Run Code Online (Sandbox Code Playgroud)
条款筛选:
{
"constant_score" : {
"filter" : {
"terms" : {
"user" : ["kimchy", "elasticsearch"],
"execution" : "bool",
"_cache": true
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
尝试使用术语过滤器.
使用term:所有给定的元素必须匹配
查看官方文档:https : //www.elastic.co/guide/en/elasticsearch/reference/1.6/query-dsl-term-filter.html
或这个:
与条款:分钟。给定元素之一必须匹配
查看官方文档:https : //www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-filter.html
您要求使用术语/术语过滤器。在查询中使用 term/terms 有另一种解释!
| 归档时间: |
|
| 查看次数: |
3107 次 |
| 最近记录: |