概要
アナライザー句では、フィールドのトークン化方法を指定できます。システムは、指定したトークン化方法に基づいて、指定したフィールド内のテキストをタームに変換します。すべてのフィールドまたは特定のフィールドにトークン化方法を指定できます。また、値のターム変換を行わないフィールドを指定することも可能です。
構文
analyzer=analyzer_description[{',' analyzer_description}]複数の analyzer_description パラメータは、カンマ (,) で区切ります。次の表に、使用可能なパラメータを示します。
パラメータ | 有効な値 | デフォルト値 | 説明 |
no_tokenize_indexes | index_name1;index_name2 | なし | 値のターム変換を行わないフィールドを指定します。複数のフィールドを指定する場合は、セミコロン (;) で区切ります。このパラメータは、指定したフィールドの値に対する正規化やストップワード除去など、他の操作には影響しません。 |
specific_index_analyzer | index_name#analyzer_name | なし | 指定したフィールドに対してアナライザーを指定します。このパラメータで指定したアナライザーは、global_analyzer パラメータで指定したアナライザーおよびスキーマで指定されたアナライザーよりも優先されます。複数のフィールドを指定する場合は、セミコロン (;) で区切ります。例:index1#analyzer1;index2#analyzer2。このパラメータで指定するアナライザーは、 |
global_analyzer | IDENTIFIER | なし | すべてのフィールドに使用できるグローバルアナライザーを指定します。このパラメータで指定したアナライザーは、スキーマで指定されたアナライザーよりも優先されます。このパラメータで指定するアナライザーは、 |
例:
特定のフィールドに対してトークン化を無効にする (
no_tokenize_indexes):analyzer=no_tokenize_indexes:default注:クエリでは、
defaultフィールドはトークン化されません。ただし、正規化やストップワード除去などの他の解析処理は引き続き適用されます。複数のフィールドを指定する場合は、セミコロン (;) で区切ります。例:no_tokenize_indexes:index1;index2。特定のフィールドに対してアナライザーを指定する (
specific_index_analyzer):analyzer=specific_index_analyzer:index2#aliws注:
index2フィールドはaliwsアナライザーを使用します。この設定は、global_analyzerで定義されているアナライザーまたはスキーマで指定されたアナライザーよりも優先されます。複数のフィールドを指定する場合は、セミコロン (;) で区切ります。例:specific_index_analyzer:index1#extend_analyzer;index2#aliws。アナライザーはanalyzer.json設定ファイルに定義されている必要があります。グローバルアナライザーを指定する (
global_analyzer):analyzer=global_analyzer:singlews_analyzer注:これは
singlews_analyzerをグローバルアナライザーとして設定します。これにより、スキーマで指定されたアナライザーが上書きされます。ただし、この設定はno_tokenize_indexesおよびspecific_index_analyzerで指定されているフィールドには影響しません。アナライザーはanalyzer.json設定ファイルに定義されている必要があります。複数のパラメータを組み合わせる (カンマで区切る):
analyzer=global_analyzer:singlews_analyzer,no_tokenize_indexes:default,specific_index_analyzer:default#extend_analyzer;index2#aliws
注意事項
アナライザー句は省略可能です。
フィールドの解析設定は、次の優先順位に従って決定されます:
no_tokenize_indexes>specific_index_analyzer>global_analyzer> スキーマで指定されたアナライザー。たとえば、index1フィールドがno_tokenize_indexesとspecific_index_analyzerの両方で指定されている場合、no_tokenize_indexesの方が優先されるため、そのフィールドに対してトークン化は無効になります。クエリ文にアナライザー句を含めない場合、システムはスキーマで指定されているアナライザーを使用します。