Title: ユーザー辞書
ユーザー辞書を整備することで、特殊な語句をヒットさせ、検索ヒット精度を上げられます。
概要
どのファイルをユーザー辞書として使用するかは、schema.xml の userDictionary 属性の TokenizerFactroy 設定で次のように定義されています。
<tokenizer class="solr.JapaneseTokenizerFactory" mode="search" userDictionary="lang/userdict_ja.txt"/>
この設定により、ユーザー辞書として使用される既定のファイルは userdict_ja.txt となります。
このユーザー辞書ファイルは、「com.traction.extsearch.solr」プラグインの etc/solr/configsets/traction_ja/conf/lang ディレクトリにあります。
このファイルをテキストエディタで開いて編集します。既定の内容は次のとおりです。
# Custom segmentation for kanji compounds
日本経済新聞,日本 経済 新聞,ニホン ケイザイ シンブン,カスタム名詞
関西国際空港,関西 国際 空港,カンサイ コクサイ クウコウ,カスタム名詞
# Custom segmentation for compound katakana
チームページ,チーム ページ,チーム ページ,カスタム名詞
トラクションソフトウェア,トラクション ソフトウェア,トラクション ソフトウェア,カスタム名刺
トートバッグ,トート バッグ,トート バッグ,カスタム名詞
ショルダーバッグ,ショルダー バッグ,ショルダー バッグ,カスタム名詞
# Custom reading for former sumo wrestler
朝青龍,朝青龍,アサショウリュウ,カスタム人名
書式は、次のようなコンマ記号区切りの CSV 形式になります。
関西国際空港,関西 国際 空港,カンサイ コクサイ クウコウ,カスタム名詞
左から、登録単語、分割パターン、よみがな、品詞、です。
分割パターンは、半角スペースで区切ることで「どこで分割されるのか」を定義できます。例えば、上記の例では、「国際」というキーワード検索を行った場合でも「関西国際空港」がヒットします。
品詞は自由に設定できますが、分かりやすいものを推奨します。
注意: ユーザー辞書のファイルに何も登録しないと Solr の起動時にエラーになります。最低でも 1 つ以上の単語を登録するようにしてください。
設定手順
ここでは、Linux 環境にて、「com.traction.extsearch.solr」プラグインが ~/servers/sandbox/traction/server/plugins/com.traction.extsearch.solr にインストールされているとして説明を進めます。
登録する単語は「情シス」と「けいおん」とします。
ユーザー辞書ファイルの編集
プラグインの etc/solr/configsets/traction_ja/conf/lang ディレクトリにある userdict_ja.txt をテキストエディタで開き、次の行を追加し、保存します。
情シス,情シス,ジョウシス,カスタム名刺
けいおん,けいおん,ケイオン,カスタム名刺
設定のインストール
ユーザー辞書を含む「traction_ja」設定を Solr にインストールします。インストールには zkcli.sh を使用します。
関連記事
DocSolr53: Solr の日本語用の設定ファイルの設置 (Windows 環境)
DocSolr52: Solr の日本語用の設定ファイルの設置 (Linux 環境)
[solr@centos6 cloud-scripts]$ sh zkcli.sh -cmd upconfig -zkhost 127.0.0.1:9983 -confname traction -confdir ~/servers/sandbox/traction/server/plugins/com.traction.extsearch.sol/etc/solr/configsets/traction_ja
Solr の再起動
Solr を再起動します。
[solr@centos6 bin]$ ./solr stop -all
[solr@centos6 bin]$ ./solr start -cloud
再フィード
TeamPage の「Solr 検索のインデックス管理」画面の [すべてのドキュメントのフィード] 欄の [開始] ボタンをクリックし、再フィードを実行します。完了するまでしばらくお待ちください。
検索テスト
キーワード「情シス」と「けいおん」で検索し、ヒットすることを確認します。