我想在字段中设置值的提升,同时在弹性搜索中搜索以下字符串
指数值
id title
1. stack installer
2. stack
3. stack material
4. installer
我使用匹配查询搜索这些值,然后我得到了以下结果
查询:
curl -XGET localhost:XXXX/index/type/_search?pretty -d '{"query":{"matchpharse":
{"title":"stack installer"},
"minimum_should_match":90
}'
点击结果:
stack installer
installer
stack material
stack
但是,我需要遵循以下输出顺序
stack installer
stack
stack material
installer
答案 0 :(得分:0)
在boolean should语句中,您可以提供多个应该查询的查询,并将某些查询提升到其他查询。
curl -XGET localhost:XXXX/index/type/_search?pretty -d '{
"query": {
"bool": {
"should": [
{
"match_phrase": {
"title": "installer stack",
"boost": 3
}
},
{
"match": {
"title": "installer",
"boost": 2
}
},
{
"match": {
"title": "stack",
"boost": 1
}
}
]
}
}
}'