7

たとえば、MongoDBのGridFSを使用してPDFまたはePubファイルを保存したい場合、データファイルに対して全文検索を実行することは可能ですか?

4

2 に答える 2

3

現在、mongo 内で実際の全文検索を行うことはできません: http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo

ここで自由に投票してください: https://jira.mongodb.org/browse/SERVER-380

Mongo はどちらかというと汎用のスケーラブルなデータ ストアですが、まだ全文検索をサポートしていません。ユースケースによっては、テキスト内のすべての単語の配列で標準の b ツリー インデックスを使用できますが、ステミングやファジー マッチなどは実行されません。

ただし、mongodb を lucene ベースのアプリケーションと組み合わせることをお勧めします (エラスティック検索が一般的です)。すべてのデータ (バイナリ データ、メタデータなど) を mongodb に保存してから、ドキュメントのプレーン テキストを lucene でインデックス化できます。または、ユースケースが純粋な全文検索である場合は、mongodb の代わりにエラスティック検索のみを使用することを検討してください。

更新 (2013 年 4 月): MongoDB 2.4 は、基本的なフルテキスト インデックスをサポートするようになりました。以下のいくつかの有用なリソース。

http://docs.mongodb.org/manual/applications/text-search/

http://docs.mongodb.org/manual/reference/command/text/#dbcmd.text

http://blog.mongohq.com/blog/2013/01/22/first-week-with-mongodb-2-dot-4-development-release/

于 2012-05-08T05:40:40.893 に答える
0

私が知っていることではありませんが、MongoDB API を使用していません。GridFS は、単純なキーと値のセマンティックを提供する API を備えた単純化されたファイル システムのように設計されているようです。彼らのプロジェクトのアイデアのページには、本番環境にある場合に役立つ 2 つのことが記載されています。

  • GridFS FUSEを使用すると、GridFS をローカル ファイル システムとしてマウントし、ディスク上のものにインデックスを付けるようにインデックスを付けることができます。
  • Lucene やSolrなどのツールとのリアルタイム全文検索の統合。github とbitbucketには、チェックアウトしたいプロジェクトがいくつかあります。

ElasticSearchも見てください。Mongo との統合を見たことがありますが、GridFS を利用するためにどれだけのことが行われたかはわかりません(GridFS アタッチメントのサポートについては言及されていますが、確実に知るために作業していません)。たぶんあなたはそれを構築し、それをオープンソースにする人になるでしょうか? 楽しい冒険になるはずです

于 2012-05-08T02:02:53.817 に答える