2015-10-05 64 views
-1

這是彈性搜索查詢來獲取文檔owner1First是唐納德和owner2Last是布朗。但是這個查詢給出了所有文檔的結果,並沒有過濾。如何從elasticsearch獲取數據?

curl -XGET "http://localhost:9200/test2/extract/_search" -d" 
{"query" : 
{"filtered" : 
    { "filter" : 
    {"bool" : 
    {"should" : 
    [{ "term" : 
     {"owner1First" :"Donald"}}, 
     { "term" :{"owner1Last" : "Brown"}} 
    ] 
     } 
     } 
    } 
    } 
    }" 

回答

3

您需要更改爲bool/must,而不是:

curl -XGET 'http://localhost:9200/test2/extract/_search' -d '{ 
    "query": { 
    "filtered": { 
     "filter": { 
     "bool": { 
      "must": [  <---- use must here ! 
      { 
       "term": { 
       "owner1First": "donald" 
       } 
      }, 
      { 
       "term": { 
       "owner1Last": "brown" 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 
}' 
+0

它仍然無法正常工作 – Pooja

+0

所有小寫字符再試一次。 – Val

+0

你的意思是全部小寫嗎?你能更具體一點嗎? – Pooja