2016-09-13 10 views
0

私はまた、値X(たとえば、7)を持っている"is between"の基準を満たす文書を検索するにはどうすればよいですか?

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

に類似した文書を持っています。私はstart < X < endのような書類を探す必要があります。上記の例では、これは2つのドキュメントを返します(nameABに等しい)。

私は検索クエリを公式化する方法がわかりません。最初は正しいと思われるrange queryが実際にはクエリで渡される基準「より大きい/より小さい」を満たすドキュメントを探します。私がやりたいことの反対です。以下の2つのrangeクエリは働くだろう

答えて

2

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

はい、私は持っていたこの:)遅れて申し訳ありませんとの幸運 - 私は確かにすべてを作るために特にelasticsearchため、具体的にあなたからすべての私の質問に、検討していますが閉じていますそしてきれいに:)再びいつものように感謝します。 – WoJ

+0

すごく、うれしかった;-) – Val

関連する問題