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”有交叉点的轨道(如上面只有 track1 与第二个 54 到 88 的交叉点)?

4

1 回答 1

0

可能与脚本过滤器有关。

您可能需要访问 _source 而不是 doc,因为数组值是扁平的。在此处查看有关脚本的更多信息。

不过,性能不会成为问题,因为它需要运行脚本和访问源代码。如果您不是在大量数据上执行此操作,那可能是合理的。

于 2013-08-08T12:59:05.717 回答