3

私のmongodbにはたくさんのファイルがあります。「helloworld」という単語を含むファイルのみを取得したい。テキストはファイル名の一部ではありませんが、ファイルの内部(コンテンツ)のどこかにあります。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 に答える