1.1 Elasticsearch 是什么
The Elastic Stack,
包括
Elasticsearch
、
Kibana
、
Beats
和
Logstash
(也称为
ELK Stack
)。
能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视
化。
Elaticsearch
,简称为
ES,
ES 是一个
开源的高扩展的分布式全文搜索引擎,
是整个
Elastic
Stack
技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB
级别的数据。
1.2 :Solr简介
Solr
是
Apache
下的一个顶级开源项目,采用
Java
开发,它是基于
Lucene的全文搜索服务器。solr
是基于
lucene
开发企业级搜索服务器,实际上就是封装了
lucene
。
1.3 :Lucene简介
Lucene
是
apache
软件基金会
4 jakarta
项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,
但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构
,提供了完整的查询引擎和索引引擎,部分文本分析引擎。
Lucene
是一个全文检索引擎的架构。那什么是
全文搜索引擎
?
![](https://i-blog.csdnimg.cn/blog_migrate/faa1b0d553afea6f74a2ee075dd8b10f.png)
一般传统数据库,全文检索都实现的很鸡肋,因为一般也没人用数据库存文本字段。进
行全文检索需要扫描整个表,如果数据量大的话即使对
SQL
的语法优化,也收效甚微。建
立了索引,但是维护起来也很麻烦,对于
insert
和
update
操作都会重新构建索引。
这里说到的全文搜索引擎指的是目前广泛应用的主流搜索引擎。它的工作原理是计算机
索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的
次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反
馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。