gpt4 book ai didi

algorithm - 如何实现标签搜索?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:52:15 28 4
gpt4 key购买 nike

我设计了一个新闻中心系统,它读取 Rss 链接并将整个新闻存储在数据库中。现在我想实现一个使用标签的搜索系统。每个新闻都有自己的标签。有很多算法可以实现这个,但我不知道什么是最常见的才能获得最佳性能。目前我正在使用 Elastic 搜索数据库,并且我使用多个关键字搜索。哪一个最好?
1- 将标签存储在列表或带有分隔符的字符串中并在其中搜索?2- 像关系系统一样工作,有一个标签表和一个新闻标签表,每个新闻标签都有一条记录。一条新闻的5个标签5条记录3- 另一种我不知道的算法

最佳答案

看起来你想要像 inverted index 这样的东西

这是一个索引,对于每个术语(在您的情况下是主题标签)都有一个包含此主题标签的文档 ID 列表。

例如,如果您有 3 个文档:d1、d2、d3 以及散列标签:

d1: #tag1, #tag2
d2: #tag3
d3: tag3, #tag2

倒排索引将是:

#tag1: d1
#tag2: d1,d3
#tag3: d2,d3

使用倒排索引查找包含特定术语(在您的情况下为标签)的所有文档相当容易,只需遍历该术语所附的列表即可。
这种数据结构对于并集(或查询)和交集(和查询)也非常有效。

此DS在全文搜索的信息检索中非常流行,也常用于半结构化搜索。

有关更多信息,您可以阅读 Information Retrieval一般来说。 Mannings Introduction to Information Retrievalthe book's first chapter 中表示此数据结构.

关于algorithm - 如何实现标签搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24990717/

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