2

我在 solr 的自动完成功能中收到以下错误

ERROR org.apache.solr.core.SolrCore  – Exception in reloading spell check index for spellchecker: suggest
java.io.FileNotFoundException: /home/anurag/Downloads/solr-4.4.0/example/solr/collection1/data/suggest/tst.dat (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:137)
    at org.apache.solr.spelling.suggest.Suggester.reload(Suggester.java:162)
    at org.apache.solr.handler.component.SpellCheckComponent$SpellCheckerListener.newSearcher(SpellCheckComponent.java:702)
    at org.apache.solr.core.SolrCore$5.call(SolrCore.java:1693)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)

我的 solrconfing.xml 是

    <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="storeDir">suggest</str>
      <str name="field">name</str>
      <bool name="exactMatchFirst">true</bool>
      <float name="threshold">0.005</float>
      <str name="buildOnCommit">true</str>
      <str name="buildOnOptimize">true</str>
    </lst>
   <lst name="spellchecker">
      <str name="name">jarowinkler</str>  
      <str name="field">lowerfilt</str>  
      <str name="distanceMeasure">org.apache.lucene.search.spell.JaroWinklerDistance</str>  
      <str name="spellcheckIndexDir">spellchecker</str>  
   </lst>
     <str name="queryAnalyzerFieldType">edgytext</str>  
  </searchComponent>

  <requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest" startup="lazy">

    <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">false</str>
      <str name="spellcheck.maxCollations">5</str>
      <str name="spellcheck.maxCollationTries">1000</str>
      <str name="spellcheck.collateExtendedResults">true</str>
    </lst>
    <!--<arr name="last-components">
      <str>suggest</str>
          <str>query</str>
    </arr> -->
  </requestHandler>
4

1 回答 1

1

在查看代码一段时间后,我看到了错误。我从我的<searchComponent>

<str name="storeDir">suggest</str> <!-- remove this line -->

它奏效了(虽然和我想的不一样……后来做了一些改变)

于 2013-10-30T04:18:07.430 回答