【问题标题】:Search for text in file stored in mongo在存储在 mongo 的文件中搜索文本
【发布时间】:2012-10-01 07:40:20
【问题描述】:

我的 mongo 数据库中有很多文件。我只想检索那些包含单词“hello world”的文件。该文本不是文件名的一部分,但可以在文件内部(内容)的任何位置找到。 mongo 是否为此提供任何 api?还是我们应该从 mongo 检索每个文件并在每个文件中搜索它?请帮忙。

【问题讨论】:

  • 您是在谈论存储在 GridFS 中的文件还是在谈论文档?
  • @Philipp 文件存储在网格 fs 中。

标签: mongodb full-text-search


【解决方案1】:

如果要全文搜索,可以集成mongodb和elasticsearch。请参阅 richardwilly98 的 mongodb-elasticsearch river https://github.com/richardwilly98/elasticsearch-river-mongodb/wiki。对于大文件,您需要 elasticsearch 映射器附件。

【讨论】:

    【解决方案2】:

    目前无法在 GridFS 文件中进行搜索,因为它们只是二进制块。实际上很少使用GridFS来存储纯文本文件。

    最好读取这些文件并将它们作为字符串字段存储在 MongoDB 中。

    当然,如果您正在寻找的是全文搜索引擎,那么 NoSQL 数据库将无法提供例如 Apache Solr 所提供的所有功能和性能。

    最后,如果您不想移动文件,您的应用程序将需要读取这些文件并在其中进行搜索。

    【讨论】:

      【解决方案3】:

      【讨论】:

      • 我想在文档中搜索单词、文本。不是文档的名称。上面的链接对我有帮助吗?
      • 不抱歉。在这种情况下,请参阅@GianPaJ 答案。确实,Solr 是通往 ga 的道路!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2011-06-29
      • 2010-10-22
      • 2013-01-20
      • 1970-01-01
      • 2010-10-16
      • 2013-01-20
      相关资源
      最近更新 更多