1

私はJavaでアプリを開発しています。バックエンドにmongodbがあり、ファイルを(gridFSに)保存します。SpringFrameworkを使用してmongodbと対話します。保存されているドキュメント(pdf、doc、txtファイル)に存在するテキストを検索したいと思います。私はmongodbが全文検索(2.4から)をサポートしていることを知っています。私の質問は

  1. Spring Frameworkは全文検索をサポートしていますか?それとも、solrまたはluceneの助けを借りるべきですか?
  2. 上記の両方が可能である場合、どちらがより良いオプションですか?
  3. 索引付けについてのワット?全文検索での索引付けに関する知識があまりありません
  4. 2.4はいつ利用可能になりますか?
4

2 に答える 2

2

1 Spring はそのコア機能内で全文検索をサポートしていませんが、spring-data プロジェクト内には、solr および elasticsearch との対話を可能にする 2 つのサブプロジェクトがあり、どちらも apache の上に構築された全文検索エンジンです。詳細については、次のリンクを参照してください。

https://github.com/dadoonet/spring-elasticsearch

https://github.com/SpringSource/spring-data-solr

2 必要に応じて、lucene は低レベルのライブラリですが、elasticsearch と solr は lucene の上に構築されたすぐに使える検索エンジンです。elasticsearch は、mongodb とのより良い統合を提供すると思います。 gridFS 添付ファイル。これらのリンクを見てください:

http://www.elasticsearch.org/

https://github.com/richardwilly98/elasticsearch-river-mongodb/

3 この質問を明確にする必要があります。

4 mongodb バージョン 2.4 がいつ利用可能になるかはわかりませんが、全文検索はまだ実験的な機能であることを忘れないでください。また、この機能はまだ gridFS をサポートしていないと思います。

于 2013-01-12T07:49:39.830 に答える
1

MongoDB テキスト検索は、PDF、DOC、さらに言えば GridFS に保存されているファイルからテキストを引き出すことはありません。MongoDB から見ると、GridFS ファイルは解釈されないバイナリです。

MongoDB の新しいテキスト検索機能を使用してさまざまなファイル タイプを検索する場合は、アプリケーションでこれらのファイルからテキストを抽出し、MongoDB に明示的に挿入するドキュメントにテキストを追加する作業を行う必要があります。Apache Tikaなどの既存のライブラリを使用して、面倒な作業を行うことができます。Tika は、Solr/Lucene がリッチテキスト ドキュメント タイプからのテキスト抽出に使用するものであることに注意してください。

MongoDB でのテキスト検索インデックスについては、こちらのリリース ノートを参照してください。

于 2013-01-30T14:26:25.050 に答える