想用solr实现一个推荐功能,相似百度
solr的版本是4.10.2,字段名称为name,用ik分词。
schema的配置如下:
<field name=”name” type=”text_ik” indexed=”true” stored=”true”/>
<fieldType name=”text_ik” class=”solr.TextField”>
<analyzer class=”org.wltea.analyzer.lucene.IKAnalyzer” />
</fieldType>
solrconfig的配置如下:
<searchComponent name=”suggest” class=”solr.SpellCheckComponent”>
<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.TSTLookupFactory</str>
<str name=”field”>name</str>
<float name=”threshold”>0.005</float>
<str name=”buildOnCommit”>true</str>
</lst>
</searchComponent>
<requestHandler name=”/suggest” class=”org.apache.solr.handler.component.SearchHandler”>
<lst name=”defaults”>
<str name=”spellcheck”>true</str>
<str name=”spellcheck.dictionary”>suggest</str>
<str name=”spellcheck.count”>10</str>
<str name=”spellcheck.onlyMorePopular”>true</str>
<str name=”spellcheck.collate”>true</str>
</lst>
<arr name=”components”>
<str>suggest</str>
</arr>
</requestHandler>
tomcat和solr后台也没有任何报错信息。各位高手能看出是哪儿出问题了吗?
solr的版本是4.10.2,字段名称为name,用ik分词。
schema的配置如下:
<field name=”name” type=”text_ik” indexed=”true” stored=”true”/>
<fieldType name=”text_ik” class=”solr.TextField”>
<analyzer class=”org.wltea.analyzer.lucene.IKAnalyzer” />
</fieldType>
solrconfig的配置如下:
<searchComponent name=”suggest” class=”solr.SpellCheckComponent”>
<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.TSTLookupFactory</str>
<str name=”field”>name</str>
<float name=”threshold”>0.005</float>
<str name=”buildOnCommit”>true</str>
</lst>
</searchComponent>
<requestHandler name=”/suggest” class=”org.apache.solr.handler.component.SearchHandler”>
<lst name=”defaults”>
<str name=”spellcheck”>true</str>
<str name=”spellcheck.dictionary”>suggest</str>
<str name=”spellcheck.count”>10</str>
<str name=”spellcheck.onlyMorePopular”>true</str>
<str name=”spellcheck.collate”>true</str>
</lst>
<arr name=”components”>
<str>suggest</str>
</arr>
</requestHandler>
tomcat和solr后台也没有任何报错信息。各位高手能看出是哪儿出问题了吗?
解决方案
40
在schma.xml
加入一个字段<name=”suggest” type=”text_ik ” indexed=”true” store=”true”/>
还有一个字段也要做<copyField source=”name” dest=”suggest”/>
这样就可以了。
加入一个字段<name=”suggest” type=”text_ik ” indexed=”true” store=”true”/>
还有一个字段也要做<copyField source=”name” dest=”suggest”/>
这样就可以了。