ご利用にはKandaSearchへの
ユーザー登録(無料)が必要です
最新バージョン: 2.1.0
開発者: RONDHUIT
ダウンロード数: 12
最終更新日: 2023-09-12
Copyright: RONDHUIT Co.,LTD
最新バージョン: 2.1.0
開発者: RONDHUIT
ダウンロード数: 12
最終更新日: 2023-09-12
Copyright: RONDHUIT Co.,LTD
日本語IMEの動作を考慮したスキーマを含むSolrコンフィグファイルセットです。デフォルト状態ではLuceneのJapaneseCompletionFilterを使用していますが、より細やかな日本語対応をお求めの場合は、別途RONDHUIT Solr プラグイン(RCSS)を適用することで可能になります。
日本語IMEの動作を考慮したスキーマを含むSolrコンフィグファイルセットです。デフォルト状態ではLuceneのJapaneseCompletionFilterを使用していますが、より細やかな日本語対応をお求めの場合は、別途RONDHUIT Solr プラグイン(RCSS)を適用することで可能になります。
<uniqueKey>suggest</uniqueKey>
<field name="point" type="int" sortMissingLast="true" indexed="true" stored="true"/>
<field name="suggest" type="string" indexed="true" required="true" stored="true"/>
<!-- Apply RCSS to use this suggester
<fieldType name="suggest_ja" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<charFilter name="mapping" mapping="mapping-ja.txt"/>
<tokenizer name="japanese" mode="normal"/>
<filter class="com.rondhuit.solr.analysis.JaSuggestFilterFactory" concatKanjiToken="false" matchExactKanji="true" />
<filter name="lowercase"/>
</analyzer>
</fieldType>
-->
<fieldType name="suggest_ja" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer name="japanese" mode="normal"/>
<filter name="lowercase"/>
<filter name="japaneseCompletion"/>
</analyzer>
</fieldType>
上記の通り、デフォルト(コメントアウトされていない方)の suggest_ja
では RCSS が不要です(追加設定が不要です)。ただし、より細やかな日本語対応のサジェスチョンが必要な場合は、RCSS(拡張機能から別途ダウンロード)を適用し、上記のコメントアウトされている方の suggest_ja
のコメントアウトを外して有効化し、他方の suggest_ja
はコメントアウトするなどして無効化してください。
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">mySuggester</str>
<str name="lookupImpl">AnalyzingLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">suggest</str>
<str name="weightField">point</str>
<str name="suggestAnalyzerFieldType">suggest_ja</str>
<str name="exactMatchFirst">true</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">true</str>
</lst>
<lst name="suggester">
<str name="name">myInfixSuggester</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">suggest</str>
<str name="weightField">point</str>
<str name="suggestAnalyzerFieldType">suggest_ja</str>
<str name="exactMatchFirst">true</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">true</str>
</lst>
<lst name="suggester">
<str name="name">myFuzzySuggester</str>
<str name="lookupImpl">FuzzyLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">suggest</str>
<str name="weightField">point</str>
<str name="suggestAnalyzerFieldType">suggest_ja</str>
<str name="exactMatchFirst">true</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">true</str>
</lst>
</searchComponent>
<requestHandler name="/suggest" class="solr.SearchHandler"
startup="lazy" >
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.count">10</str>
</lst>
<lst name="appends">
<str name="suggest.dictionary">mySuggester</str>
<str name="suggest.dictionary">myInfixSuggester</str>
<str name="suggest.dictionary">myFuzzySuggester</str>
<str name="suggest.dictionary">mySolrSuggester</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
このコンフィグを使ってサジェストを行うには、作成したコレクションにサジェスト用のデータソースをドキュメント登録しておく必要があります。
サジェスト用のデータソース作成のアイデアや手順については、KandaSearch公式サイトのチュートリアルで説明しています。
「チュートリアル -> 検索 -> クエリサジェスチョン」