gpt4 book ai didi

python - 如何实现搜索指定用户的文档?

转载 作者:行者123 更新时间:2023-12-01 06:02:25 26 4
gpt4 key购买 nike

在我当前的项目中,用户可以喜欢歌曲,现在我要添加歌曲搜索,以便用户可以搜索她喜欢的歌曲之前。

我之前使用xapian实现过搜索引擎,其中涉及定期构建文档索引。

就我而言,我是否必须独立为每个用户的歌曲建立索引?

如果我希望搜索结果更加实时,这是否意味着我需要每隔很短的时间就增量构建索引?

最佳答案

单独回答您的问题。

我必须为每个用户的歌曲独立建立索引吗?

没有;对于这种情况,一种常见的技术是使用有关歌曲的信息以及用户的标识符单独索引每个like。然后,当您进行搜索时,您希望通过实际登录的用户标识符来过滤用户自然文本搜索的结果。

在 Xapian 中,您可以通过添加一个代表用户的术语(带有合适的前缀,因此您可能会使用 XU175 来表示 id 为 175 的用户),然后使用 OP_FILTER 将搜索限制为仅登录用户的“喜欢”。

我是否需要每隔很短的时间就增量构建索引[以支持实时索引]?

这完全取决于您使用的搜索系统。使用 Xapian,您可以做到这一点,并定期将生成的数据库“压缩”为一个基础数据库;或者你可以将实时索引写入数据库——尽管由于 Xapian 是单写入器,所以你需要找到一种序列化的方法,例如将新的点赞放入队列中,并使用单个进程将它们弹出并建立索引进入数据库。一个基本上现成的解决方案是使用 Restpose ,由 Xapian 开发人员之一编写,其角色与 Solr 相同。为Lucene做.

您还可以通过索引一个数据库,然后将其复制到另一个数据库并搜索复制的版本来变得更有趣,这也为您提供了 future 水平扩展的选项。有一个discussion of replication在 Xapian 文档中。

关于python - 如何实现搜索指定用户的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9635338/

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