【发布时间】:2019-03-10 23:21:56
【问题描述】:
我在 elasticsearch 的文档中有一个名为 tags 的字段,结构如下。
tags = [
{
"id": 10,
"related": [9, 8, 7]
}
]
我现在运行一个带有列表的过滤器。例如[10, 9]。我只想过滤那些包含 id 或相关列表中所有项目的文档。如果我用[9, 8]搜索,应该会返回上面的文档。如果我使用[9, 12] 搜索,则不应返回上述文档,因为 id 或相关中都不存在 12。
我尝试使用术语过滤器,但它只是做或。有没有什么技术可以实现上述目标。
此外,与包含related 中给定项目的文档相比,我想为在 id 中包含给定项目的文档提供更高的排名。
【问题讨论】:
-
tag是嵌套字段吗? -
你能分享你的索引映射吗?
-
嗨@Sudip,你检查我的答案了吗?有帮助吗?
标签: elasticsearch elasticsearch-dsl elasticsearch-dsl-py