30分钟搭建一个百万全文搜索

来源:互联网 发布:python 字典迭代 编辑:程序博客网 时间:2024/04/16 20:40

公司重心转移,不再是搜索。所以比较有空写写博。

 

solr是lucene的企业级扩展,很好很强大。solr的性能 http://wiki.apache.org/solr/SolrPerformanceData, 现在使用solr的网站 http://wiki.apache.org/solr/PublicServers

 

我习惯使用tomcat,安装参考:http://wiki.apache.org/solr/SolrTomcat,当然你也可以使用其他Contains来安装。(现在的wiki真详细,以前都靠自己摸索)如果安装成功,浏览器地址栏输入: http://localhost:8080/solr/admin/, 看到管理界面,那么继续。

 

找个支持lucene的中文analyzer,,比如lucene自带的cjk,修改solr的schema.xml中的 field,比如德国的(记得把注释去掉) 你可以参考修改成 然后在搜索filed,改成自己的field,比如全文检索简单的是id, title, body 比如我将原来的 修改成 保存好,重新启动tomcat,输入 http://localhost:8080/solr/admin/analysis.jsp?name=title&verbose=on&highlight=on&val=aa&qval= 如果一切正常,那么你就能看到title给cjk分词的处理效果。

 

使用solr非常简单,从数据库取出数据, 包个含程序字段有id, title, body的xml扔给solr做索引。参考:http://wiki.apache.org/solr/UpdateXmlMessages。除了xml还有csv格式数据做索引,参考:http://wiki.apache.org/solr/UpdateCSV 索引完了,我们用用看。

 

比如我要搜索关键词:测试中文,搜索字段是title,跑到地址栏输入 http://localhost:8080/solr/select?indent=on&version=2.2&q=%E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87&start=0&rows=10&fl=*%2Cscore&qt=title&wt=standard&explainOther=&hl.fl= 根据自己情况输入关键词和字段,如果得到你要的结果,那么恭喜你,你能搭建一个百万搜索了。

 

百万搜索真的这么简单么?没啦,不同业务不一样,复杂的很复杂。

 

大家看下教程 http://lucene.apache.org/solr/tutorial.html,wiki: http://wiki.apache.org/solr solr

 

现在的release版本是1.2, 1.3还在开发中,现在还有少量bug还没解决,估计快要release了,如果不急于production的,先用1.2熟悉,用1.3上production。如果大家急着用solr的svn版本,其lucene是最新版本。

 

原创粉丝点击