基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > Windchill サーチのカスタマイズ > Solr のカスタマイズ > テキストフィールドサーチのフィルタ
  
テキストフィールドサーチのフィルタ
* 
アナライザ、フィルタ、トークナイザの詳細については、次のリンクを参照してください。
各テキストフィールドでは com.ptc.solr.analysis.PTCWordDelimiterFilterFactory フィルタが使用されます。このフィルタは単語をサブ単語に分割し、必要に応じてサブ単語のグループに対して変換を実行します。単語は次の規則を使用してサブ単語に分割されます。
規則
単語内区切り文字 (デフォルトでは、英数字以外のすべての文字) で分割します。
"Wi-Fi" は "Wi" と "Fi" に分割
小文字と大文字の間で分割します。
"TransAM" は "Trans" と "AM" に分割
サブ単語の先頭または末尾にくる単語内区切り文字は無視されます。
"__hello---there, 'dude'" は "hello"、"there"、"dude" に分割
各サブ単語の末尾の "s" は除去されます。
* 
いろいろなサブ単語の組み合わせが考えられるため、このステップは別のフィルタでは実行されません。
"O'Neil's" は "O" と "Neil" に分割
このフィルタは solr.WordDelimiterFilter のレプリカで、Solr に付属します。次の文字を保護するためにカスタマイズされています: "."、"-"、"_"
分割は次のパラメータの影響を受けます。
generateWordParts=1
単語の各部分が生成されます: "whistle-blower" = "whistle" "blower"
generateNumberParts=1
数値のサブ単語が生成されます: "500-42" = "500" "42"
catenateWords=1
単語の文字部分が連結されます: "re-confirm" = "reconfirm"
catenateNumbers=1
単語の数字部分が連結されます: "500-42" = "50042"
catenateAll=1
すべてのサブ単語が連結されます: "wi-fi-4000" = "wifi4000"
splitOnCaseChange=1
小文字と大文字の間で分割: "PowerShot" = "Power" "Shot"
preserveOriginal=1
元の単語がサブ単語として追加されます: "500-42" = "500" "42" "500-42"
com.ptc.solr.analysis.PTCSpecialCharacterFilterFactory フィルタも使用されます。このフィルタでは、PTC で保護されている特殊文字で終るトークンのサブトークンが作成されます。現在のところ、保護されている特殊文字は次の 3 つだけです。
点/ピリオド (.)
ダッシュ (-)
アンダースコア (_)
サブトークンは次の規則に従って作成されます。
規則
ピリオド (.) で終るトークン
"dot." = "dot.", "dot"
ダッシュ (-) で終るトークン
"dash-" = "dash-", "dash"
アンダースコア (_) で終るトークン
"under_" = "under_", "under"
* 
インデックシング時と照会時でトークナイザの順序が変わらないようにします。照会時に生成されたトークンは、その単語のインデックシング時と同じでなければなりません。
停止語
$solr-home\wblib\conf\stopwords.txt 指定されている単語はインデックシングされません。これらの単語は、ユーザーが意味のあるサーチでは入力しないと考えられる単語にする必要があります。たとえば、"if" または "not" などです。これらの単語をサーチに含むには、stopwords.txt から除去する必要があります。
英語では、text フィールドが使用され、StopFilterFactory フィルタを使用して設定されます。
シノニム
$solr-home\wblib\conf\synonyms.txt にシノニムエントリを行うことで、1 つの単語のサーチで同義語を含むレコードを必ず見つけられるようになります。このファイルを編集してシノニムを入力または除去できます。
SynonymFilterFactory フィルタは英語の text フィールド用に設定されています。