一、什么 Solr
Solr是一个Java开发的基于Lucene的企业级开源全文搜索平台,它采用的是反向索引,即从关键字到文档的映射过程,Solr的资源以Document为对象进行存储,每个文档由一系列的Filed构成,每个Filed表示资源的一个属性。文档的Filed可以被索引,以提高性能的搜索效率。一般情况下文档都能包含一个能唯一标识该文档的ID字段
二、Solr使用的索引方式
Solr使用了倒排索引的方式,所谓倒排索引就是从文档内容到文档序号的过程,将文档内容用Solr自带分词器进行分词,然后作为索引,用二分法将关键字与排序号索引进行排序,进而查找到对应文档,Oracle中的索引(B-Tree)结构
倒排索引主要由两个部分组成:“单词词典”和“倒排文件”
三、Solr和Elasticseacher的异同
相同:Solr和Elasticseacher都是基于Lucene实现的
不同点:A、Solr利用Zookeeper进行分布式管理,而Elasticseacher自身带有分布式协调管理功能
B、Solr比Elasticseacher实现更加全面,Solr官方提供的功能更多,而Elasticseacher本身更注重于核心功能,高级功能大多数由第三方插件构成
C、Solr在传统的搜索应用中表现好,Elasticseacher在实时搜索应用方面比Solr表现好
四、传统搜索和实时搜索
传统搜索是从静态数据库中筛选出符合条件的结果,这种结果往往是不可变的、静态的;而实时搜索则是说用户对于搜索的结果是实时变化的,传统搜索比如电商这种,实时搜素如:百度、谷歌
转载于:https://my.oschina.net/u/4169647/blog/3081691