2016-09-13 37 views
0

我有類似如何搜索符合「介於」之間的文件?

{ 
    "name": "A", 
    "start": 5, 
    "end": 10 
}, 
{ 
    "name": "B", 
    "start": 1, 
    "end": 10 
}, 
{ 
    "name": "C", 
    "start": 20, 
    "end": 30 
} 

文件我也有一個價值X(比如7)。我需要尋找這樣的文件,start < X < end。在上例中,這將產生兩個文檔(name等於AB)。

我不知道如何制定搜索查詢:range query最初看起來是正確的一個實際上查找符合查詢中傳遞的「大於」/「小於」標準的文檔 - 這是與我想要做的事情相反。

回答

2

以下兩個range查詢將工作

{ 
    "query": { 
     "bool": { 
      "filter": [ 
       {"range": {"start": {"lt": 7}}}, 
       {"range": {"end": {"gt": 7}}} 
      ] 
     } 
    } 
} 
+0

是的,我的運氣與此:)抱歉耽擱 - 我檢討我的所有問題,特別是對於elasticsearch具體爲您確保一切都被關閉並乾淨:)再次感謝,像往常一樣。 – WoJ

+0

真棒,很高興它解決了;-) – Val

相關問題