gpt4 book ai didi

mongodb - 请告知mongoDB中全文搜索的最佳解决方案

转载 作者:可可西里 更新时间:2023-11-01 09:14:39 27 4
gpt4 key购买 nike

我数据库中的文档在其他字段中有名称和描述。我想允许用户通过提供一些关键字来搜索这些文档。关键字应该用于在名称和描述字段中查找。我读过 mongoDB documentation on full text search如果我想在我的文档的名称字段中搜索关键字,它看起来非常好和容易。但是,描述字段包含自由格式文本,最多可包含 2000 个字符,因此每个文档可能有几百个单词。我可以像对待名字一样对待它们,只是将整个描述分成单独的词并将其存储为另一个类似标签的数组(根据 Mongo 示例),但这似乎是一个糟糕的主意——每个文档的大小几乎可以翻倍, 还有点、逗号等字符。

我知道有针对这类问题的专门解决方案,我只是在看 Lucene.Net,我还看到到处都提到了 Solr。

我应该在 mongoDB 中实现这个搜索功能,还是应该使用专门的解决方案?目前我只有一个 mongod 实例和一个 Web 服务器实例。稍后我们可能需要扩展,但目前我只使用它。对于如何实现此功能的任何建议,我将不胜感激。

最佳答案

如果按照记录的方法将文本拆分成一个数组是不可行的(我能理解你的担忧),那么我认为你应该研究一个专门的解决方案。

引自 MongoDB 文档:

MongoDB has interesting functionality that makes certain search functions easy. That said, it is not a dedicated full text search engine.

因此,对于更高级的全文搜索功能,我认为专用引擎会更合适。我在这方面没有经验,所以我不能从这里提供太多建议,除了如果我在同一条船上我的想法会是什么:

  • 使用专用的全文搜索引擎而不是 MongoDB 的功能涉及多少工作?
  • 这是否会增加更多的复杂性/是否值得?
  • 使用 MongoDB 并占用额外的磁盘空间会不会更快/更简单?
  • 也许 MongoDB 将来会支持更好的全文功能(毕竟它正在快速发展)

关于mongodb - 请告知mongoDB中全文搜索的最佳解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5309563/

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