30分钟搭建一个百万全文搜索
关键字: lucene solr公司重心转移,不再是搜索。所以比较有空写写博。
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是最新版本。
评论
fengzl 1 天前
主要是索引在什么时候创建?
是不是支持事务?
索引的修改是在什么时候,
我记得compass是在DAO操作数据库的时候干这些事情的
你什么时候做索引就什么时候创建索引。
不支持事务。
所有lucene的索引都遵循一个规则,没有什么修改概念,所谓的修改在lucene就是删掉旧的追加新的。
我不知道compass干嘛的,如果它是基于lucene,那么所谓包含事务,那我可以肯定的告诉你事务是在compass这层完成的,而不是在lucene这块完成。
我猜想数据操作流程:数据-》compass-》lucene,,
是不是支持事务?
索引的修改是在什么时候,
我记得compass是在DAO操作数据库的时候干这些事情的
公司重心转移,不再是搜索。所以比较有空写写博。
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是最新版本。
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 72058 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
我的相册
共 1 张
最新评论
-
2008年已完成的工作
不错哦 做好了你爬虫让我看看哦
-- by isky -
中国内地高学历技术工程师 ...
还是知识分子那点自尊心在作怪 总觉得自己应该高人一等=_=
-- by 叶子 -
中国内地高学历技术工程师 ...
我个人才毕业没几年,我的朋友同学中,最好的一个 ,是没有上大学,自己做生意了,还 ...
-- by allenjiang -
中国内地高学历技术工程师 ...
jsyx 写道lmlh8686 写道难道做技术真的很悲惨吗? 惨不惨的来自于你 ...
-- by 姜太公 -
中国内地高学历技术工程师 ...
lmlh8686 写道难道做技术真的很悲惨吗? 惨不惨的来自于你的内心,不来自 ...
-- by jsyx






评论排行榜