solr 中的建议组件错误 [英] error in suggester component in solr

查看:16
本文介绍了solr 中的建议组件错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 solr 自动完成功能,我正在使用 solr 4.50 来构建我的应用程序,我正在关注 链接作为参考.我的建议组件是这样的

I am working with solr auto complete functionality,I am using solr 4.50 to build my application, and I am following this link as a reference. My suggest component is something like this

  <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">autocomplete_text</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>

但是,我收到以下错误

org.apache.solr.spelling.suggest.Suggester  – Loading stored lookup data failed
java.io.FileNotFoundException: /home/anurag/Downloads/solr-4.4.0/example/solr/collection1/data/suggest/tst.dat (No such file or directory)

它说某些文件丢失了,但 solr wiki 建议组件说它支持这些 lookupImpls --

It says that some file are missing but the solr wiki suggester component says it supports these lookupImpls --

<str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str>
      <!-- Alternatives to lookupImpl: 
           org.apache.solr.spelling.suggest.fst.FSTLookup   [finite state automaton]
           org.apache.solr.spelling.suggest.fst.WFSTLookupFactory [weighted finite state automaton]
           org.apache.solr.spelling.suggest.jaspell.JaspellLookup [default, jaspell-based]
           org.apache.solr.spelling.suggest.tst.TSTLookup   [ternary trees]
      -->

不知道我做错了什么......任何帮助将不胜感激

Dont know what I am doing wrong..... Any help will be deeply appreciated

推荐答案

我能够通过使用 Solr 术语组件

像这样在 solrconfig.xml 中添加术语组件

Add term components in your solrconfig.xml like this

<searchComponent name="terms" class="solr.TermsComponent"/>
  <!-- A request handler for demonstrating the terms component -->
  <requestHandler name="/terms" class="solr.SearchHandler" startup="lazy">
     <lst name="defaults">
      <bool name="terms">true</bool>
      <bool name="distrib">false</bool>
    </lst>     
    <arr name="components">
      <str>terms</str>
    </arr>
  </requestHandler>

在 schema.xml 中为您的自动建议文本定义字段类型

define a field type for your autosuggest text in schema.xml

    <fieldType name="edgytext" class="solr.TextField" >  
      <analyzer>  
        <tokenizer class="solr.KeywordTokenizerFactory"/>  
        <filter class="solr.LowerCaseFilterFactory"/>  
      </analyzer>  
    </fieldType>

像这样在schema.xml中添加字段

   <field name="name"  type="edgytext" indexed="true" stored="true" />  

   <field name="autocomplete_text" type="edgytext" indexed="true" stored="false"  multiValued="true" omitNorms="true" omitTermFreqAndPositions="false" />

   <copyField source="name" dest="autocomplete_text"/>

现在最重要的一步...从索引目录中删除所有文件夹(可以在 solrconfig.xml 中找到,.. 寻找 标签)

Now the most important step... Remove all the folders from your index directory (can be found in solrconfig.xml ,.. look for <dataDir> tag)

重启solr.并重新索引您的数据.您将在索引目录中创建新文件夹.

Restart the solr. and reindex your data. You will se new folders created in your index directory.

您可以通过点击 url 来检查自动建议是否有效 -

You can check the auto suggest working by hitting the url -

http://127.0.0.1:8983/solr/your_core/terms?terms.fl=autocomplete_text&omitHeader=true&terms.limit=20&terms.sort=index&terms.regex=(.*)your_query(.*)

这篇关于solr 中的建议组件错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆