0

次のデータ構造を考慮します。

{
    name: 'track1',
    durationSec: 300,
    tags: [
        {
            name: "mike", startSec: 15, endSec: 88
        },
        {
            name: "kate", startSec: 54, endSec: 140
        }
    ]
},
{
    name: 'track2',
    durationSec: 240,
    tags: [
        {
            name: "mike", startSec: 0, endSec: 150
        },
        {
            name: "kate", startSec: 200, endSec: 220
        }
    ]

たとえば、タグ「mike」と「kate」が交差するトラックのみを見つけることは可能ですか (上記のトラック 1 と 54 秒から 88 秒までの交差点のみ)。

4

1 に答える 1

0

スクリプトフィルターでできるかもしれません。

配列の値はフラット化されているため、doc ではなく _source にアクセスする必要がある場合があります。スクリプトの詳細については、こちらを参照してください。

ただし、スクリプトの実行とソースへのアクセスの両方が必要なため、パフォーマンスは問題ありません。巨大なデータに対してそれを行っていない場合、それは合理的かもしれません。

于 2013-08-08T12:59:05.717 に答える