solr 3.6を使用しています。suggesterの照合をマルチターム検索の自動補完ソリューションとして使用したいと思います。残念ながら、Suggesterは、単一項ごとに多くの提案が存在する場合でも、複数項検索のための照合を1つだけ返します。私のテストの検索と基礎となるインデックスデータによっては、より多くの照合が存在しなければならないと確信しています。SolgeがSuggesterコンポーネントの照合順序を1つのみ返す
Suggesterの設定に問題がありますか? Q =バイオ+ berのため
<!--configuration -->
<searchComponent class="solr.SpellCheckComponent" name="suggest">
<lst name="spellchecker">
<str name="name">suggest</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.WFSTLookupFactory</str>
<str name="field">text</str> <!-- the indexed field to derive suggestions from -->
<!--<float name="threshold">0.0005</float> disabled for test-->
<str name="buildOnCommit">true</str>
</lst>
</searchComponent>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest</str>
<str name="spellcheck.onlyMorePopular">true</str>
<str name="spellcheck.count">200</str>
<str name="spellcheck.collate">true</str>
<str name="spellcheck.maxCollations">10</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
例応答:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">4</int>
</lst>
<lst name="spellcheck">
<lst name="suggestions">
<lst name="bio">
<int name="numFound">27</int>
<int name="startOffset">0</int>
<int name="endOffset">3</int>
<arr name="suggestion">
<str>bio</str>
<str>bio-estetica</str>
<str>bio-kosmetik</str>
...
</arr>
</lst>
<lst name="ber">
<int name="numFound">81</int>
<int name="startOffset">4</int>
<int name="endOffset">7</int>
<arr name="suggestion">
<str>beratung</str>
<str>bern</str>
...
</arr>
</lst>
<str name="collation">bio beratung</str>
</lst>
</lst>
</response>
基本的なSolrのおもちゃアプリ(start.jar)を使用するだけで、この問題に直面します。私はspellcheck.maxCollationsを含むスペルチェックパラメータの考えられるすべての組み合わせを試しましたが、複数の照合を得ることはできません。どんな洞察にも感謝します。 – nlawson