给solr配置自动完成(参考solr cookbook)
前面完成了在tomcat中运行solr 3.4,下面来配置自动完成。为了便于测试,这里将tomcat的端口改为8983.
1、首先来个solr添加些测试数据,即给它一些文件让它索引,后期测试自动完成需要测试数据。打开命令提示符,将目录切换到D:\apache-solr-3.4.0\example\exampledocs,然后执行如下命令:
java -jar post.jar solr.xml monitor.xml
如果能够看到如下信息,则说明添加索引成功。
SimplePostTool: version 1.4
SimplePostTool: POSTing files to http://localhost:8983/solr/update..
SimplePostTool: POSTing file solr.xml
SimplePostTool: POSTing file monitor.xml
SimplePostTool: COMMITting Solr index changes..
2、修改D:\apache-solr-3.4.0\conf\solrconfig.xml文件,在其中添加如下配置:
<searchComponent class="solr.SpellCheckComponent" name="suggester">
<lst name="spellchecker">
<str name="name">suggester</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">name</str>
<float name="threshold">0.005</float>
</lst>
</searchComponent>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggester">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggester</str>
<str name="spellcheck.count">10</str>
</lst>
<arr name="components">
<str>suggester</str>
</arr>
</requestHandler>
注:solr cookbook中原来的配置在solr3.4中会报错,需要修改<str name="threshold">2</str>为<float name="threshold">0.005</float>。
3、测试。在浏览器中输入:http://localhost:8983/solr/suggester/?q=s ,如果能够看到如下结果,即OK。
<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
</lst>
<lst name="spellcheck">
<lst name="suggestions">
<lst name="s">
<int name="numFound">3</int>
<int name="startOffset">0</int>
<int name="endOffset">1</int>
<arr name="suggestion">
<str>search</str>
<str>server</str>
<str>solr</str>
</arr>
</lst>
</lst>
</lst>
</response>
页:
[1]