百木园-与人分享,
就是让自己快乐。

Lucene、solr以及elasticsearch之间的区别和联系

Lucene、solr以及elasticsearch之间的区别和联系

  • lucene,就是一个jar包,里面包含了封装好的各种建立倒排索引、以及进行搜索的代码,包括各种算法。我们就用java开发的时候,引入lucene jar,然后基于lucene的api去进行开发就可以了。solr和elasticsearch都是基于lucene做的一些封装
  • Solr是一个有HTTP接口的基于Lucene的查询服务器,封装了很多Lucene细节,自己的应用可以直接利用诸如【 .../solr?q=abc】这样的HTTP (GET/POST)请求去查询,维护修改索引。
  • Elasticsearch是一个分布式搜索引擎,采用倒排索引将每一个字段都编入索引,使其可以被搜索
  • solr以及elasticsearch之间的区别:
    • solr利用zookpper进行分布式管理,而elasticsearch自身带有分布式协调管理功能
    • solr比elasticsearch提供的功能多,elasticsearch更注 重于核心功能,高级功能则由第三方插件提供
    • elasticsearch在实时搜索方面比solr表现好

什么是全文检索、倒排索引

  • 全文检索:以中文文章中的每一个词作为key,该词出现在文章中的(次数和位置)作为value建立索引(这种索引也叫倒排索引),这种以倒排索引检索数据的方式就叫全文检索;

倒排索引原理:

image

ES检索数据原理:

image


来源:https://www.cnblogs.com/mofes/p/16348464.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Lucene、solr以及elasticsearch之间的区别和联系

相关推荐

  • 暂无文章