solr中间件总结

本文介绍了Solr在解决大数据搜索中的作用,如解决MySQL的I/O瓶颈问题,以及Solr如何与MySQL、ActiveMQ配合进行数据同步。同时讨论了Solr的分词器,特别是IK分词器在扩展热词方面的应用。另外,文章还对比了Solr和Elasticsearch在实时性、分布式支持上的区别。
摘要由CSDN通过智能技术生成

目录

1. 讲一下 solr 吧

2. 为什么要用 solr

3. Solr 在项目中怎么用的

4. Solr 分词器有什么效果?

5. 关于 IK 分词器扩展词汇实现自动添加用户搜索热词的方法.你有什么见解?

6. 你们 solr 有专门的地方维护吗?是手动添加还是?(同步问题)

7. 全文检索谁来定?

8. ElasticSearch 和 Solr 的区别?


​​​​​​​

1. 讲一下 solr 吧

  • 嗯,solr在我们项目中主要是做站内搜索的时候用的Solr,我知道他底层是基于Lucene开发的一个站内搜索引擎,我们项目中一般用它做全文检索,他搜索的时候是通过词条进行搜索,因为mysql数据库具有I/O读写瓶颈问题,分布式系统的数据量一般比较大,我记得mysql单表最大存储数据量是350w多条,这个我也没测试过,看资料提到过,一旦数据量过大,必然会引起查询速度慢,服务器资源耗费多等各种问题,所以这时近时搜索引擎solr就是专门解决这种问题的技术实现

2. 为什么要用 solr

  • 因为mysql数据库具有I/O读写的瓶颈问题,分布式系统的数据量一般比较大,但是mysql单笔最大存储量是350w多条(这个没测试过,是看资料提到过),一旦数据量过大,必然会引起查询速断慢,服务器资源耗费多等各种问题,所以这时近实搜索引擎solr就是专门解决这种问题的技术实现。【当然除了solr还有lucence,还有Elasticsearch,solr前身就是lucence,对于elasticsearch也是基于lucence,它的特点的话是实时搜索效率比较高效,然后elasticsearch只支持json形式,而solr支持多种数据类型格式】

3. Solr 在项目中怎么用的​​​​​​​

4. Solr 分词器有什么效果?

  • solr在搜索的时候本来就是利用词条为索引库进行搜索的,所以我理解的分词就像是索引一样在solr索引库中存在,还有solr是老外开发的,所以分词是根据英语单词进行自动分词,但是中文的话无法识别,每个字都认为是一个词汇,所以我们在使用solr的时候需要配置一个IK中文分词器使用的。

5. 关于 IK 分词器扩展词汇实现自动添加用户搜索热词的方法.你有什么见解?

  • 所谓热词就是用户经常搜索到的词语,我们给他放到自己的分词器里当成一个词进行搜索,比如说经常说到的"上海外滩',这样的词就可以当做热词,我也没有在项目里实际的做过,但是我知道在大数据里有一个wordcount技术可以实现这个热词分析,他是结合的redis一起使用的,redis作为一个计数器,HBASE作为数据的存储,然后统计出搜索次数比较多的词条配置到solr权重中。

6. 你们 solr 有专门的地方维护吗?是手动添加还是?(同步问题)

  • 我们用的是SpringDataSolr来操作的solr索引库,我们项目在第一次上线的时候,会手动往 solr 索引库导入一批数据,后期就不用人工干预了,我们后台添加了相应的商品之后,商品审核通过的时候,用的 ActiveMQ 往里面发送一条消息,商品的 ID,然后在 solr 这个 search 这个工程中,我们会接收到这个 id,然后根据这个 id 从数据库里面查询出来该商品信息,把数据添加到我们的索引库里边去,增量更 新,维护大概就是这样,

7. 全文检索谁来定?

  • 由 业务 来 定 。比 如说 做 商品 检 索时 ,时 搜索 商 品的 名 称,卖 点 ,描述 。以 这 些业 务 域进 行 所搜 的

8. ElasticSearch 和 Solr 的区别?

  • 我知道他两的底层都是基于Lucene实现的,都是使用的lucene的倒排索引实现的,solr在实现建立索引的时候会产生io阻塞查询性能会比elasticsearch差一些,还有就是因为solr自身不支持分布式,elasticsearch是实时处理数据,而且默认支持分布式的,可以组成一个网络,如果其中一台服务器宕机,会分配其他节点工作,可以扩展多台服务器,所以查询效率会更快,据说可以处理PB以上级别的数据

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xinyi_java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值