EXTENSIONS

RONDHUIT Suggest configuration(Solr 9)
無料

ご利用にはKandaSearchへの
ユーザー登録(無料)が必要です

Solr Collection Config
RONDHUIT Suggest configuration(Solr 9)

最新バージョン: 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)を適用することで可能になります。

RONDHUIT Suggest configuration

概要

日本語IMEの動作を考慮したスキーマを含むSolrコンフィグファイルセットです。デフォルト状態ではLuceneのJapaneseCompletionFilterを使用していますが、より細やかな日本語対応をお求めの場合は、別途RONDHUIT Solr プラグイン(RCSS)を適用することで可能になります。

managed-schema

  <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 はコメントアウトするなどして無効化してください。

solrconfig.xml

  <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>

使い方

  1. プロジェクトに本拡張機能を追加します。
  2. そのプロジェクトビューの左サイドメニューの「拡張機能」を選択し、本拡張機能ブロック内の「ダウンロード」リンクをクリックし、ローカルPCへファイルをダウンロードします。
  3. インスタンスビューの左サイドメニューの「コレクション」を選択し、「コレクションを追加する」をクリック後、「インポートによる作成」タブでダウンロードしたZIPファイルを指定します。
  4. 適当なコレクション名を設定し、「保存」でコレクションを作成します。

このコンフィグを使ってサジェストを行うには、作成したコレクションにサジェスト用のデータソースをドキュメント登録しておく必要があります。
サジェスト用のデータソース作成のアイデアや手順については、KandaSearch公式サイトのチュートリアルで説明しています。
「チュートリアル -> 検索 -> クエリサジェスチョン」

お見積もり・詳細は KandaSearch チームに
お気軽にお問い合わせください。

お問い合わせ