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

简介:

   我就用自己的项目来讲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的各种接口方便做查询功能

目录
相关文章
|
存储 缓存 Java
【面试题精讲】Java包装类缓存机制
【面试题精讲】Java包装类缓存机制
|
4月前
|
分布式计算 Hadoop 分布式数据库
死磕HBase(二)
死磕HBase(二)
|
4月前
|
存储 NoSQL 关系型数据库
死磕HBase(一)
死磕HBase(一)
|
4月前
|
存储 Java BI
死磕ElasticSearch(一)
死磕ElasticSearch(一)
|
4月前
死磕ElasticSearch(二)
死磕ElasticSearch(二)
|
5月前
【ClickHouse】深入浅出系列之配置详解,全中文注释!
【ClickHouse】深入浅出系列之配置详解,全中文注释!
|
存储 缓存 弹性计算
MySQL用得好好的,为啥非要转ES?
MySQL用得好好的,为啥非要转ES?
|
XML 存储 JSON
Solr学习总结
Solr学习总结
159 0
Solr学习总结
|
索引
solr 常见的问题整理 -费元星
本文是我在开发过程中遇到的一些问题的整理,有些摘自网上别人的方法。 1. org.apache.solr.client.solrj.SolrServerException: Timeout occured while waiting response from server at: http://...
1308 0
|
算法 索引
Solr排序陷阱
假期梳理了之前在新浪博客的文档,将一些有用的内容搬到这里。本文是关于Solr排序陷阱。
111 0