我正在尝试将分数提升添加到我的es查询中的不同字段,以便某个字段优先于另一个字段。
我的查询如下:
"query": {
"bool": {
"should": [{
"prefix": {
"title": "נפצ"
}},{
"match_phrase_prefix": {
"sub_title": "נפצע קש"
}
}]
}
}
出于某种原因,使用前缀和match_phrase_prefix似乎我无法添加得分助推器。
我想要实现的目标应该是这样的:
"query": {
"bool": {
"should": [{
"prefix": {
"title": "נפצ"
"score": 2
}
},{
"prefix": {
"sub_title": "נפ"
"score": 1
}
}]
}
}
答案 0 :(得分:2)
[编辑]使用boost
可以解决问题。根据{{3}},类似的东西必须适合你(虽然我没有自己尝试过):
"query": {
"bool": {
"should": [{
"prefix": {
"title": {
"value": "נפצ",
"boost": 2.0
}
}},{
"match_phrase_prefix": {
"sub_title": {
"query": "נפצע קש",
"boost": 1.0
}
}
}]
}
}