我的 mongo 数据库中有很多文件。我只想检索那些包含单词“hello world”的文件。该文本不是文件名的一部分,但可以在文件内部(内容)的任何位置找到。mongo 是否为此提供任何 api?还是我们应该从 mongo 检索每个文件并在每个文件中搜索它?请帮忙。
问问题
2561 次
3 回答
2
如果要全文搜索,可以将mongodb与elasticsearch集成。请参阅richardwilly98 的 mongodb-elasticsearch 河https://github.com/richardwilly98/elasticsearch-river-mongodb/wiki。对于大文件,您需要 elasticsearch 映射器附件。
于 2012-10-01T21:06:13.483 回答
1
目前无法在 GridFS 文件中搜索,因为它们只是二进制块。实际上很少使用 GridFS 来存储纯文本文件。
最好读取这些文件并将它们作为字符串字段存储在 MongoDB 中。
当然,如果您正在寻找的是全文搜索引擎,那么 NoSQL 数据库将无法提供例如Apache Solr将提供的所有功能和性能。
最后,如果您不想移动文件,您的应用程序将需要读取这些文件并在其中进行搜索。
于 2012-10-01T09:41:14.773 回答
0
于 2012-10-01T08:45:33.000 回答