专注JavaWeb开发 首页制式『默认式 OR 时间轴 网站地图|RSS订阅|设为首页|加入收藏
当前位置:首页 >服务器 > 正文

Solr配置Suggest实现搜索智能提示

作者: 紫寒1120 发布时间: 2015-05-29 浏览次数:

在solrconfig.xml  中配置

新增

<searchComponent class="solr.SpellCheckComponent" name="suggest">  
        <str name="queryAnalyzerFieldType">text_spell</str>  
        <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">suggestion</str>  
            <!-- the indexed field to derive suggestions from -->  
            <float name="threshold">0.0001</float>  
            <str name="spellcheckIndexDir">spellchecker</str>  
            <str name="comparatorClass">freq</str>  
            <str name="buildOnOptimize">true</str>   
            <!--<str name="buildOnCommit">true</str>-->  
        </lst>  
    </searchComponent>  
    <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.extendedResults">false</str>  
            <str name="spellcheck.count">10</str>  
            <str name="spellcheck.collate">true</str>  
        </lst>  
        <arr name="components">  
            <str>suggest</str>  
        </arr>  
    </requestHandler>      
     <queryConverter name="phraseQueryConverter" class="org.apache.solr.spelling.SpellingQueryConverter"/>

在schema.xml中新增

<fieldType name="text_spell" class="solr.TextField">  
      <analyzer type="index">  
        <tokenizer class="solr.StandardTokenizerFactory"/>  
        <filter class="solr.LowerCaseFilterFactory"/>  
      </analyzer>  
      <analyzer type="query">  
        <tokenizer class="solr.StandardTokenizerFactory"/>  
        <filter class="solr.LowerCaseFilterFactory"/>  
      </analyzer>  
    </fieldType>  
  
<field name="suggestion"      type="text_spell"      indexed="true"      stored="true"      termVectors="true" multiValued="true" />  
  
<copyField source="geo_title"          dest="suggestion" />

附:schema.xml<copyField source="geo_title"dest="suggestion" />参数说明  

source为你要自通提示的一个字段,对应data-config中的配置

    

配置好以后重启solr

以suggest查询得到

以普通的select查询

全查询看到


QQ群: 武汉地区(142173356)验证消息JavaWeb1024

网友共有【】评论,点击查看



x 微信关注我们 随时获取最新网站资讯