0

我正在尝试从大量索引的段落中实现自动建议。但我想过滤掉自动建议中出现的某些不需要的词。例如,需要避免使用“and”、“how”、“when”等词。我该怎么做。

这是我在 solrconfig.xml 中为 autosuggest 所做的配置。

<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">5</str>
      <str name="spellcheck.collate">true</str>
    </lst>
    <arr name="components">
      <str>suggest</str>
    </arr>
  </requestHandler>


<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.tst.TSTLookup</str>

  <str name="field">keywords</str> 
  <float name="threshold">0.005</float>
  <str name="buildOnCommit">true</str>

</lst>

4

1 回答 1

0

我建议将StopFilterFactory添加到schema.xml 文件中字段的支持fieldType定义。keywords如果您在keywords字段中需要这些词(“and”、“how”、“when”)来满足其他搜索要求,我建议您在 schema.xml 中为建议者创建一个自定义字段,您可以使用copyField指令来填充这个新字段。

于 2013-04-18T11:59:19.263 回答