前面完成了在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>