2012-02-01 22 views
2

elasticsearchに少し問題があります。ElasticSearch、特定の配列要素を含む文書を検索する方法

タプル(出版物)の配列を含むドキュメントがあります。

ような何か:私は持っている問題はexempleのために、特定のタプルを含むドキュメントを検索するためにある

{ 
     .... 

     publications: [ 
     { 
      item1: 385294, 
      item2: 11 
     }, 
     { 
      item1: 395078, 
      item2: 1 
     } 
     ] 

     .... 
    } 

(ITEM1 = 395078とITEM2 = 1)。

何であれ、私がしようと、それは常にITEM1扱うようだと別に、私はITEM1とITEM2は配列全体をaccross、同じタプル内の特定の値を持っていない必要があることをelasticsearch伝えるために失敗しITEM2 ...

されています何か私はここで行方不明ですか?

ありがとう

答えて

2

これはまっすぐには不可能です。 ElasticSearchは、条件をチェックする前に配列を平坦化します。 elasticSearchはconventianal配列チェックでは起こらない a = x AND b = y1と[{a = x、b = y}、{a = x1、b = y1}と一致します。

あなたはここで行うことができますが、ネストされたタイプの

+0

ありがとうございます、明日ネストされた型を見ていきます。もう1つの質問です。このような出版物を出版する場合は、出版物:[{385294:11}、{395078:1} –

+0

item1 beforeheadの値がある場合、配列の385294の値を照会することができます。そしてそれは11として与えるでしょう。 –

関連する問題