[英]match_phrase query running mutiple in one query
我正在嘗試使用我的彈性查詢來獲取與“ListExperiences.Title”匹配的一些詳細信息
{
"size": 100,
"query": {
"match_phrase": {
"ListExperiences.Title": "technical specialist"
}
},
"_source":["skillstop"]
}
我能夠成功執行並獲得所需的結果。
{...
"hits":[{
...
"_source":{"skillstop": "government, active directory"
} }
]}
命中的長度 = 1,因為我只進行了查詢。 但是如果我想競選這樣五個頭銜,例如:“支持專家”、“技術專家”、“技術專家”、“客戶服務代表”,我必須運行elasticsearch 5次。
有什么辦法可以讓我一次跑完? (期望我得到命中長度 = 5)
我試過這樣
{
"size": 100,
"query": {
"dis_max":{
"queries":[
{"match_phrase": {
"ListExperiences.Title": "technical specialist"} },
{"match_phrase": {
"ListExperiences.Title": "technical expert"} }
]
}
}
}
它只返回“技術專家”或最后一個。
這取決於。 如果你想啟動一個 or 查詢,你應該嘗試:
{
"query" : {
"bool" : {
"should": [{
"match_phrase": {
"ListExperiences.Title": "technical specialist"
}
}, {
"match_phrase": {
"ListExperiences.Title": "technical expert"
}
}]
}
}
}
如果您只想使用一個 POST 請求進行多個查詢,您應該使用multi_search
- doc here
GET <your_index_name>/_msearch
{"query" : {"match_phrase" : {"ListExperiences.Title": "technical specialist"}}}
{"query" : {"match_phrase" : {"ListExperiences.Title": "technical expert"}}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.