寻找与elasticsearch的时间交叉点

时间:2013-08-08 11:46:28

标签: elasticsearch

考虑以下数据结构:

{
    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的交点)和elasticsearch?

1 个答案:

答案 0 :(得分:0)

可以使用script filter

您可能需要访问_source而不是doc,因为数组值已展平。详细了解脚本here

但性能不会很好,因为它需要运行脚本和访问源代码。如果你不是通过大量数据来做这可能是合理的。