3

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

4

3 回答 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

http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo

于 2012-10-01T08:45:33.000 回答