考虑以下数据结构:
{
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?
答案 0 :(得分:0)
可以使用script filter。
您可能需要访问_source而不是doc,因为数组值已展平。详细了解脚本here。
但性能不会很好,因为它需要运行脚本和访问源代码。如果你不是通过大量数据来做这可能是合理的。