solr 6.5
を利用しています。
下記のスキーマ設定(managed-schema)のように、フィルターでSynonymFilterFactoryを利用して類義語変換をしようとしています。
(問題)
SynonymFilterFactoryの類義語変換は一応できるんですが、
類義語変換の際に指定しているJapaneseTokenizerFactoryのユーザ辞書(lang/userdict_ja.txt)は効いていないようで、下記のような事が起きてしまいます。
例)
ユーザ辞書に「形態素解析」を登録しています
シノニム辞書(synonyms.txt)に「形態素解析 => kuromoji」を登録しています。
しかし、「形態素解析」と入力しても、「kuromoji」と類義語変換されません。
おそらくフィルターの前の段階(分かち書きの処理)で「形態素」「解析」の2つ分割されているのだと思います。
下記の設定は間違っているのでしょうか?
(もしかして、mode="search"とSynonymFilterFactoryは併用できない?)
[スキーマ設定]
<fieldType name="text_ja" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="false"> <analyzer type="index"> <tokenizer class="solr.JapaneseTokenizerFactory" mode="search" userDictionary="lang/userdict_ja.txt" /> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" tokenizerFactory="solr.JapaneseTokenizerFactory" userDictionary="lang/userdict_ja.txt"/> ・・以下略・・ </analyzer> <analyzer type="query"> <tokenizer class="solr.JapaneseTokenizerFactory" mode="search" userDictionary="lang/userdict_ja.txt" /> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" tokenizerFactory="solr.JapaneseTokenizerFactory" userDictionary="lang/userdict_ja.txt"/> ・・以下略・・ </analyzer> </fieldType>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。