网站地图    收藏   

主页 > 后端 > php资料库 >

Solr中文搜索纠错功能实现图解教程_自学php网

来源:自学PHP网    时间:2014-12-04 22:12 作者: 阅读:

[导读] 最近在研究solr全文搜索,功能果然很强大! 上次简单说了一下Solr环境搭建,今天说一下搜索纠错的实现 实现: 您要找的是不是 XXX 功能 配置:solr3.2默认支持SpellCheck, 需要把纠错词库配置打...

 最近在研究solr全文搜索,功能果然很强大!
上次简单说了一下Solr环境搭建,今天说一下搜索纠错的实现
实现: 您要找的是不是“XXX” 功能
solr纠错词

配置:solr3.2默认支持SpellCheck, 需要把纠错词库配置打开

编辑solrconfig.xml
  1. [admin@bogon ~]$ vi /opt/solr/solr/conf/solrconfig.xml 

找到这面配置,把注释去掉,重启TOMCAT

编辑solrconfig.xml
  1.  <lst name="spellchecker">
  2.  
  3.          <str name="classname">solr.FileBasedSpellChecker</str>
  4.  
  5.          <str name="name">file</str>
  6.  
  7.          <str name="sourceLocation">spellings.txt</str>
  8.  
  9.          <str name="characterEncoding">UTF-8</str>
  10.  
  11.          <str name="spellcheckIndexDir">spellcheckerFile</str>
  12.  
  13.  </lst>

 

搜“弯豆” ,就会返回“豌豆”的XML,并且搜“wandou”,也可以返回“豌豆” XML
我用文件源的方式,在solr.home/conf/spellings.txt文件后加:"豌豆wandou"。注意一行一个词。
访问http://192.168.12.129:8983/solr/spell?q=*wandou*&spellcheck.q=

wandou&spellcheck=true&spellcheck.dictionary=file&spellcheck.build=true
返回XML

代码如下
  1. <response>
  2. <lst name="responseHeader">
  3. <int name="status">0</int>
  4. <int name="QTime">40</int>
  5. </lst>
  6. <str name="command">build</str>
  7. <result name="response" numFound="0" start="0"/>
  8. <lst name="spellcheck">
  9. <lst name="suggestions">
  10. <lst name="wandou">
  11. <int name="numFound">1</int>
  12. <int name="startOffset">0</int>
  13. <int name="endOffset">6</int>
  14. <arr name="suggestion">
  15. <str>豌豆wandou</str>
  16. </arr>
  17. </lst>
  18. </lst>
  19. </lst>
  20. </response>

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论