我要搜索三个字段:title^3
增强3 ,desc^2
增强2 和body
,假设我正在搜索字符串refuse eating
,我希望在提到的任何字段中同时包含两个单词(或更多单词)的文章首先显示,然后显示包含任何单词的文章其次
我尝试使用must
的{{1}},但是第一个结果仅包含一个单词,另一个单词不在任何字段中。
这是我尝试过的代码:
multi_match
我正在寻找的东西是这样的:
article1 :在GET my_index/_search
{
"query": {
"bool": {
"must_not": [
{"exists": {"field": "deleted"}}
],
"must": [
{
"multi_match": {
"query": "refuse eating",
"fields": [
"title^3",
"desc^2",
"body"
],
"type": "best_fields"
}
}
],
"filter": [
{"term": {"kind": "article"}},
{"term": {"status": "published"}}
]
}
}
}
(或refuse eating
)中有字符串title
,应该先出现。
第2条:在body
中有refuse
一词,在desc
中有eating
一词,排在第二。 / p>
第3条:查询字符串body
或refuse
中只有一个单词,应该排在最后。
我希望结果按此顺序排列:
谢谢。