1
私はこのような文書とESインデックスを持っている:ElasticSearch:ネストされたリスト内の特定の位置に関する問い合わせ
[{"type": "alpha", "order": ['john', 'michael', 'tony']}]
[{"type": "alpha", "order": ['michael', 'john', 'tony']}]
[{"type": "beta", "order": ['michael', 'john', 'tony']}]
私のクエリは、「タイプ」は「アルファ」とどこ」であるレコードを返す必要がありますjohn "は" order "リストの2番目の位置にあります。私はネストされたクエリを試してきましたが、それを "タイプ"のトップレベルの条件と組み合わせることはできないようです。ヒントは大歓迎です。
これは非常に役に立ちます!私は "ランク"を含むようにそれを修正することができますし、次は動作するはずです。 クエリ= { 「クエリ」:{ は「ネストされた」:{ 「パス」:「順序」、 『クエリ』:これを「タイプ」の制約を追加する方法をしかし、それはまだ私には明らかではありません{ "BOOL":{ "必須":[{ "一致":{ 「ランク ":2 }} ] } } } } }お問合せが固定 – dust
: { "クエリ ":{ " bool 「:{ "必須":[{ は "ネスト":{ "パス": "順序"、 "クエリ":{ "一致":{ "order.rank":2 }} } }、{ "一致":{ "タイプ": "アルファ" }}]} }} ネストされたフィールド "order.rank" に用心は、完全なパスを与えるようになりました再び。 –