【问题标题】:How to configure solr(4.10) for multiple words auto suggestion?如何为多词自动建议配置 solr(4.10)?
【发布时间】:2016-11-02 08:01:31
【问题描述】:

我想在 Solr 中创建带有自动建议的集合,我尝试了单个单词,它工作正常,但我正在寻找短语,例如,如果我们输入“Barack”,它应该是“Barack”、“Barack Obama”、“Barack Obama”美国总统”。

我有 6 个字段,但只想为一个字段(即内容)提供建议,如何根据这些字段配置 schema.xml 和 solr config.xml。我尝试了很多例子,但这对我不起作用! 有什么简单的解决方案吗?任何帮助将不胜感激! 提前致谢。

感谢 Amit 的回复,我也试过了,但没有得到我想要的东西 我的 schema.xml 是这样的我想要关于我的内容字段的建议 我的 solr 配置如下所示!

<field name="id" type="string" indexed="true" stored="true" required="true"   multiValued="false" />
   <field name="Content" type="suggest_phrase" indexed="true" stored="true" />
   <field name="Lang" type="string" indexed="true" stored="true" />
   <field name="PubDate" type="tdate" indexed="true" stored="true" />
   <field name="Section" type="string" indexed="true" stored="true" />
   <field name="PaperName" type="string" indexed="true" stored="true" />
   <field name="Page_No" type="tint" indexed="true" stored="true" />

  <fieldType name="suggest_phrase" class="solr.TextField" positionIncrementGap="100" multiValued="true">
  <analyzer>
        <tokenizer class="solr.KeywordTokenizerFactory" />
        <filter class="solr.LowerCaseFilterFactory" />
  </analyzer>


    <!-- search content -->
  <searchComponent name="suggest_phrase" class="solr.SpellCheckComponent">
    <lst name="spellchecker">
        <str name="name">suggest_phrase</str>
        <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
        <str name="lookupImpl">org.apache.solr.spelling.suggest.fst.FSTLookup</str>
        <str name="field">suggest_phrase</str>
        <str name="buildOnCommit">true</str>
    </lst>
</searchComponent>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest_phrase">
    <lst name="defaults">
        <str name="spellcheck">true</str>
        <str name="spellcheck.dictionary">suggest_phrase</str>
        <str name="spellcheck.onlyMorePopular">true</str>
        <str name="spellcheck.count">10</str>
        <str name="spellcheck.collate">false</str>
    </lst>
    <arr name="components">
        <str>suggest_phrase</str>
    </arr>
</requestHandler>

【问题讨论】:

    标签: solr autosuggest search-multiple-words


    【解决方案1】:

    您可以在用于自动建议的字段上使用木瓦。

    【讨论】:

    • 嗨,阿曼,正如你所说,我尝试使用 Shinglefilterfactory,但没有得到我想要的东西!还有其他解决方案吗??
    猜你喜欢
    • 2012-12-20
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    • 2014-05-17
    • 1970-01-01
    相关资源
    最近更新 更多