0
我是elatic搜索的新手,不幸的是elasticearch.com文檔不夠好。我知道如何使用術語:如何使用標準組合來構建彈性查詢?
{
"term" : { "user" : "kimchy" }
}
您能否幫助我通過這些標準來構建我的查詢? (用戶= 「伊赫桑」 或用戶= 「afsaneh」)和((10和20之間的年齡)或40和50之間的(年齡))
我是elatic搜索的新手,不幸的是elasticearch.com文檔不夠好。我知道如何使用術語:如何使用標準組合來構建彈性查詢?
{
"term" : { "user" : "kimchy" }
}
您能否幫助我通過這些標準來構建我的查詢? (用戶= 「伊赫桑」 或用戶= 「afsaneh」)和((10和20之間的年齡)或40和50之間的(年齡))
你應該看看:
bool
查詢(documentation):它會幫助你在不同的指標分析與AND/OR/NO使用條款結合must
/should
/must_not
range
過濾器(documentation):它的目標是要排除不值相匹配的文件你設定的間隔。下面的查詢應該做的伎倆:
{
"query": {
"filtered": {
"query": {
"bool": {
"should": [
{
"term": {
"user": "ehsan"
}
},
{
"term": {
"user": "afsaneh"
}
}
]
}
},
"filter": {
"or": {
"filters": [
{
"range": {
"age": {
"from": 10,
"to": 20
}
}
},
{
"range": {
"age": {
"from": 40,
"to": 50
}
}
}
]
}
}
}
}
}
但是,恕我直言,在Elasticsearch文檔是相當不錯的。 爲了瞭解如何構建其他查詢,您應該花時間閱讀更多內容:像這樣(特別是關於difference between query and filters)。
編輯:
"terms": {
"user": [
"ehsan",
"afsaneh"
]
}
:兩個
term
查詢可以通過一個單一的
terms
像這樣被替換