我继承了我正在尝试修改的 Elasticsearch 查询。我目前的查询是:
{
"fields": [
],
"from": 0,
"size": 51,
"query": {
"filtered": {
"query": {
"query_string": {
"fields": [
"data.*"
],
"default_operator": "AND",
"query": "*Search term*"
}
},
"filter": [
{
"terms": {
"type": [
"typeOne",
"typeTwo",
"typeThree"
]
}
}
]
}
}
}
现在我一直在尝试做的是在结果中将这些术语中的一个提升到其他两个之上,但无法让它发挥作用。我尝试添加一个“提升”值,但这奇怪地给了我相反的效果——它禁用了任何被提升的类型。
我尝试了以下作为“过滤器”对象:
"filter": [
{
"bool": {
"should": [
{
"term": {
"type": "typeOne"
}
},
{
"term": {
"type": "typeTwo"
}
},
{
"term": {
"type": "typeThree",
"boost": 2
}
}
]
}
}
]
但正如我之前所说,它不是提升“typeThree”,而是从结果中删除所有“typeThree”。
谁能帮我提升一个特定的术语类型?