[英]Elastic Search Query using an OR operator inside a bool
我需要構建一個簡單的查詢,將其轉換為條件,因為“年齡”在40至60之間,“國家”在US或IN中。 我正在尋找使用布爾運算符的解決方案。
我嘗試了以下選項:
"bool": {
"must": [
{
"range": {
"age": {
"from": 40,
"to": 60
}
}
},
{
"terms": {
"country": [
"US",
"IN"
]
}
}
]
}
但是這個查詢沒有給我任何結果。 我在這里想念什么嗎?
謝謝! ķ
您的查詢看起來不錯。 我認為您的查詢無法正常工作的唯一原因是,“ coutry”字段使用的是默認分析器,該術語使用小寫並存儲在索引中。 如果您對以下查詢獲得了預期的結果,我的猜想是正確的。 要解決此問題,您可以將查詢更改為我在下面提到的查詢,也可以更改映射以使“國家”字段不被分析。
"bool": {
"must": [
{
"range": {
"age": {
"from": 40,
"to": 60
}
}
},
{
"terms": {
"country": [
"us", <---- Note that I'm using lower-cased terms
"in" <---- Note that I'm using lower-cased terms
]
}
}
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.