我想在elasticsearch
中使用span_near
查询,但它并不完全满足我的需求。使用span_near
时,所有span_terms
必须存在于子字符串中,否则它实际上会忽略文档。我想使用一个类似span_near
的查询,考虑到文档只有一些span_terms
的分数。
我该怎么办?
"query": {
"bool": {
"should": [
{
"span_near": {
"clauses": [
{
"span_term": {
"field": "term1"
}
},
{
"span_term": {
"field": "term2"
}
},
{
"span_term": {
"field": "term3"
}
}
],
"slop": 10,
"in_order": false,
"boost" : 1
}
},
...
]
}
}
}
1条答案
按热度按时间gmxoilav1#
span_near本身没有您要查找的选项。您可以在should子句中添加另一个匹配查询,该查询将返回包含任何搜索词的文档。由于span_near具有更高的提升,因此其文档的得分也会更高。