1

我正在尝试在我的项目中集成 solr 的自动建议功能。我以此为出发点。我相应地更改了搜索字段。

我的 schema.xml

<field name="name" type="text_suggest" indexed="true" stored="true"/>
<field name="manu" type="text_suggest" indexed="true" stored="true"/>  
<field name="popularity" type="int" indexed="true" stored="true" />

<!-- A variant of textsuggest which only matches from the very left edge -->
<copyField source="name" dest="textnge"/>
<field name="textnge" type="autocomplete_edge" indexed="true" stored="false" />

<!-- A variant of name which matches from the left edge of all terms (implicit truncation) -->
<copyField source="name" dest="textng"/>
<field name="textng" type="autocomplete_ngram" indexed="true" stored="false" omitNorms="true" omitTermFreqAndPositions="true" />

我在 solrconfig.xml 中的请求处理程序

<requestHandler class="solr.SearchHandler" name="/ac" default="true" >
    <lst name="defaults">
    <str name="defType">edismax</str>
    <str name="rows">10</str>
    <str name="fl">*,score</str>
    <str name="qf">name^50 manu^20.0 textng^50.0</str>
    <str name="pf">textnge^50.0</str>
    <str name="bf">product(log(sum(popularity,1)),100)^20</str>
    <str name="debugQuery">false</str>
    </lst>
  </requestHandler>

问题是我的“/ac”处理程序更像“/select”处理程序。当我输入“moni”时,我什么也得不到。但是当我输入“监视器”时,它会返回包含监视器的文档。

我一整天都在尝试这个,但似乎没有任何效果。任何帮助将不胜感激

4

2 回答 2

0

我认为您需要在 solarconfig.xml 中指定搜索组件,如下所示

<searchComponent class="solr.SpellCheckComponent" name="ac">
        <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.tst.TSTLookupFactory</str>
            <str name="field">yourfieldname</str>  <!-- the indexed field to derive suggestions from -->
            <float name="threshold">0.005</float>
            <str name="buildOnCommit">true</str>
        </lst>
    </searchComponent>
于 2015-02-25T17:50:31.077 回答
0

好吧,当您在查询中查找“moni”时,您实际上是在明确表示您正在查找“moni”关键字。尝试通过添加“*”来查找多词关键字,例如q=moni*.

您还可以查看其他 fieldType 分析器,例如autocomplete_edge (q=textnge:mori)autocomplete_ngram (q=textng:mori)查看更多数据。

于 2015-02-25T17:17:52.380 回答