gpt4 book ai didi

lucene - Elasticsearch 中的唯一标签查询

转载 作者:行者123 更新时间:2023-12-02 23:41:45 25 4
gpt4 key购买 nike

我有 POSTS ,可以有很多 TAGS 。我只希望查询返回唯一标签的 POSTS ,而没有其他标签。例如。

posts: [
{ id: 1
tags: [hello, world]
...
}
{ id: 2
tags: [hello]
}
]

以下内容:

搜索?q = tag:你好

应该只返回:
posts: [
{ id: 2
tags: [hello]
}
]

如何使用 flex 搜索完成此任务?

最佳答案

Elasticsearch在下面使用了lucene,这是一个反向索引。大致来说,它为术语建立索引,并允许您根据术语查询文档。如果您搜索一个术语,那么它当然会返回包含该术语的文档。标签也是术语,因此逻辑是相同的。我不知道您如何告诉lucene返回包含的文档,而仅返回那个术语,或者反过来,以排除包含任何其他术语的所有文档。

您可以实现将标签全部发送到一个值中,并将该字段的映射设置为"index" : "not_analyzed"。这样,您将为每个文档索引一个标签术语,其中包含与其相关的所有标签。如果搜索特定标签,则将返回仅包含该特定标签的文档。另一方面,如果文档具有多个标签,则需要一起搜索所有标签,以便取回该文档。您的要求对我来说似乎很奇怪,但是如果您正是这种方式,那么您应该可以做到。

关于lucene - Elasticsearch 中的唯一标签查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12694256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com