我想进行包含许多具有不同提升的搜索的搜索,并通过得分返回结果。我尝试进行如下搜索,我认为它运行得很好,直到我意识到只有第一个查询正在运行。
我应该如何改写这个以获得运行所有查询的结果,以及按分数排序的结果,如果结果显示多个查询,则将分数加在一起?
[{
"query": {
"fuzzy": {
"title": {
"value": "lord",
"boost": 20,
"min_similarity": 0.8
}
}
}
}, {
"query": {
"fuzzy": {
"location": {
"value": "london",
"boost": 1000,
"min_similarity": 0.8
}
}
}
}, {
"query": {
"fuzzy": {
"haircolour": {
"value": "dark",
"boost": 500,
"min_similarity": 0.8
}
}
}
}, {
"query": {
"fuzzy": {
"description": {
"value": "senior",
"boost": 100,
"min_similarity": 0.7
}
}
}
}, {
"query": {
"fuzzy": {
"description": {
"value": "manager",
"boost": 100,
"min_similarity": 0.7
}
}
}
}]
干杯
的Nik
答案 0 :(得分:-1)
为什么不为每个查询创建一个bool查询,主查询作为must子句,其他查询作为should子句?
有帮助吗?