码迷,mamicode.com
首页 > 其他好文 > 详细

一步一步学solr:在开始前我们应该明白什么

时间:2014-07-23 21:35:15      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   os   

    我就用自己的项目来讲solr应用了,当然他的功能很多,大家可以看这里 http://my.oschina.net/fengnote/blog/288581 功能那是相当的多。

    solr可以理解为与应用分离的一个搜索服务,我们要搭建应用+搜索服务的关联配置实现部分业务。

    我们的项目现在要改功能,一个内容发布系统,做一个站内搜索,原有的框架是SSI的,只把查询部分用solr来实现。

问题是:

    • 我要查询一篇文章关联到N张表

    • 我除了查询文章还要查询分类(也用solr实现)

    • 新增、修改、删除文章/分类后要看到实时的更新数据

    • 分页,多条件可以实现吗,我的数据需要二次处理(比如状态要显示中文)

这几点都做到的话我们以前用代码查询数据库的部分就可以用solr代替。

    分析问题:

        不改变原有架构,可以查询文章、分类,也就是solr中的多个索引,一个索引可以做一个查询, 多个索引可以使用solr多核,后面会讲怎么配置。有些朋友经常听到中文分词,那么他和solr有什么联系吗? solr不是国人开发的,我们查询的条件是中文的,所以加入中文分词器就可以对一句话进行分解,主流的分词器有IKAnalyzer、mmseg4j、paoding等,各个版本的分词器对应solr的配置又是各不相同的,后面讲到配置再细说。多张表的查询在solr里是可以用entity关联的,类似于我们写关联查询,不过都是很easy的,写配置文件就可以了。当我们新增或修改文章的时候在文章的表中加一个字段update_time,文章的最后更新时间,这个时间可以用于和solr索引的最后一次更新时间进行比较,将所有在最后一次更新的时间之后的数据增量更新到索引中。删除可以用一个字段is_del来删除索引中无用的文档(solr里的文档相当于一张“”)

    总结:

    • solr的多核能够解决多个索引的查询问题

    • solr的增量更新能解决实时显示数据

    • 新版本基于RESTAPI的各种接口方便做查询功能

一步一步学solr:在开始前我们应该明白什么,布布扣,bubuko.com

一步一步学solr:在开始前我们应该明白什么

标签:style   blog   http   color   使用   os   

原文地址:http://my.oschina.net/biezhi/blog/294233

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!