14.2.3. 分析
Analysis、テキストを 単一の用語 (単語) に変換するプロセスであり、フルテキスト検索エンジンの主な機能として見なされます。Lucene は、Analyzer の概念を使用してこのプロセスを制御します。以下のセクションでは、Hibernate Search がアナライザーを設定するために提供する複数の方法について説明します。
14.2.3.1. デフォルトの Analyzer とクラスによる Analyzer リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
トークン化されたフィールドのインデックス化に使用されるデフォルトのアナライザークラスは、
hibernate.search.analyzer プロパティーで設定できます。このプロパティーのデフォルト値は org.apache.lucene.analysis.standard.StandardAnalyzer です。
また、エンティティーやプロパティー、さらには @Field ごとにアナライザークラスを定義することもできます (複数のフィールドが単一のプロパティーからインデックス化される場合に便利です)。
例14.19 @Analyzer のさまざまな使用方法
この例では、
EntityAnalyzer を使用して、PropertyAnalyzer と FieldAnalyzer でインデックス化される summary と body を除き トークン化されたプロパティー (name) をインデックス化します。
警告
同じエンティティーで異なるアナライザーを組み合わせることは多くの場合で適切ではありません。特にクエリー全体に同じパーサーを使用する QueryParser を使用している場合、クエリーの構築がより複雑になり、結果の予測が難しくなります。経験上、特定のフィールドでは、同じアナライザーを使用してインデックス付けとクエリーを実行する必要があります。