全文搜索引擎——ElasticSearch(全文搜索引擎是真正的搜索引擎)
1 概述
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前称为“ELK stack”)。
1.1 功能、作用
ES是一个开源的高扩展的分布式全文搜索引擎,它可以准实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
1.2 架构
全文检索大体分两个过程,索引创建(Indexing)和搜索索引(Search)。
从非结构化数据中提取出的然后重新组织的信息,我们称之索引
索引创建:将现实世界中所有的结构化和非结构化数据提取信息,创建索引的过程。
搜索索引:就是得到用户的查询请求,搜索创建的索引,然后返回结果的过程。
2 配置部署
2.1 docker使用
docker pull elasticsearch
$ docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag
2.2 下载安装
官网下载:
解压后配置:elasticsearch.yml