代わりにSolrを使用します。これは Lucene 上に構築され、ASF によって管理されていますが、特に新規参入者にとっては、Lucene よりもはるかに使いやすいです。
Lucene のほとんどすべてのメインライン機能 (説明したプロジェクトに必要なすべてのもの) に加えて、スナップショット、レプリケーション、スキーマなどの追加機能を提供する場合...
Solr では、インデックスを作成するフィールドを次のように定義するだけですschema.xml
。
<field name="book_id" type="string" indexed="true" stored="true" required="true" multiValued='false'/>
<field name="book_name" type="text" indexed="true" stored="true" required="true" multiValued='false' />
<field name="book_authors" type="text" indexed="true" stored="true" required="true" multiValued='true' />
<field name="book_categories" type="textTight" indexed="true" stored="true" required="true" multiValued='true' />
このmultiValued='true'
属性を使用すると、このフィールドに配列またはリストを効果的に渡すことができ、Solr によって適切に分割およびインデックス付けされることに注意してください。
これができたら、Solr を起動すると、" book_authors:Hemingway
" や " " などのクエリを実行できますbook_categories:Romance book_categories:Mills
。
複雑なクエリ (あいまい一致、ブール演算、スコアリング ブーストなど) の解析などを実行するために、いくつかのクエリ ハンドラーが事前に作成および構成されています。また、Solr の API は HTTP 経由で公開されているため、これらはすべて数値でラップされます。そのため、クエリを作成するための低レベルの詳細を自分で処理する必要はありません。
彼らのウェブサイトには、始めるための優れた ドキュメントがたくさんあります。