首页 > 解决方案 > 使用外部文件构建自动建议

问题描述

我正在尝试使用 FileDictionaryFactory 使用外部文件构建自动建议。但是,它总是期待来自 zookeeper 配置的文件。

我怎样才能提供外部位置而不是上传到动物园管理员?

我在 solrconfig.xml 中使用以下配置

<requestHandler name="/suggestdocid" class="solr.SearchHandler" startup="lazy" >
  <lst name="defaults">
    <str name="suggest">true</str>
    <str name="suggest.count">80</str>
    <str name="suggest.dictionary">suggestdocid</str>
  </lst>
  <arr name="components">
    <str>suggestdocid</str>
  </arr>
</requestHandler>

<searchComponent name="suggestdocid" class="solr.SuggestComponent">
 <lst name="suggester">
      <str name="name">suggestdocid</str>
      <str name="lookupImpl">AnalyzingInfixLookupFactory</str>
      <str name="storeDir">suggester_analyzing_dir_docid_dict</str>
      <str name="highlight">false</str>

    <str name="dictionaryImpl">FileDictionaryFactory</str>
    <str name="sourceLocation">/var/lib/solr/doclist.txt</str>
      <str name="suggestAnalyzerFieldType">doc_token</str>
      <str name="exactMatchFirst">true</str>
      <str name="nonFuzzyPrefix">3</str>
      <str name="preserveSep">false</str>
      <str name="maxEdits">0</str>
      <str name="buildOnStartup">false</str>
  </lst>
</searchComponent>

以下是 schema.xml 中用于 doc_token 的配置

<fieldType name="doc_token" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.WordDelimiterFilterFactory"
                splitOnCaseChange="0"
                splitOnNumerics="1"
                stemEnglishPossessive="0"
                generateWordParts="1"
                generateNumberParts="1"
                catenateWords="1"
                catenateNumbers="1"
                catenateAll="0" />
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
</fieldType>

当我尝试构建建议时,出现以下错误。

java.io.IOException: Error opening /configs/my-collection//var/lib/solr/doclist.txt

标签: solrapache-zookeepersolrcloudautosuggest

解决方案


推荐阅读