什么是Elasticsearch?

Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。
Lucene可以说是当下最先进、高性能、全功能的搜索引擎库——无论是开源还是私有,但它也仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理,因为Lucene 非常复杂。
为了解决Lucene使用时的繁复性,于是Elasticsearch便应运而生。它使用 Java 编写,内部采用 Lucene 做索引与搜索,但是它的目标是使全文检索变得更简单,简单来说,就是对Lucene 做了一层封装,它提供了一套简单一致的 RESTful API 来帮助我们实现存储和检索。
当然,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。 它可以被下面这样准确地形容:
由于Elasticsearch的功能强大和使用简单,维基百科、卫报、Stack Overflow、GitHub等都纷纷采用它来做搜索。现在,Elasticsearch已成为全文搜索领域的主流软件之一。
安装Elasticsearch
安装elasticsearch之前需要安装java环境,elasticsearch7.0以上的版本尽量使用最新版java。
环境
-
Centos7
-
Java 11
下载Elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.3.2-linux-x86_64.tar.gz
启动 Elasticsearch
cd elasticsearch-7.3.2
bin/elasticsearch
此时,Elasticsearch运行在本地的9200端口,在浏览器中输入网址http://localhost:9200,如果看到以下信息就说明你的电脑已成功安装Elasticsearch
{
"name" : "node-1",
"cluster_name" : "feimo-application",
"cluster_uuid" : "q_IPGeuZQHW2INQ0IqMSgQ",
"version" : {
"number" : "7.3.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "1c1faf1",
"build_date" : "2019-09-06T14:40:30.409026Z",
"build_snapshot" : false,
"lucene_version" : "8.1.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
安装可视化工具Elasticsearch-head
下面介绍两种安装方式
Chrome插件安装(强烈推荐)
如果你使用的是Chrome浏览器并且可以访问Chrome商店,可以直接在商店搜素elasticsearch-head进行安装

点击插件出现下图界面代表安装成功

手动安装
git clone https://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head/
npm install
修改配置
- 修改elasticsearch-head配置文件 Gruntfile.js
connect: {
server: {
options: {
port: 9100,
hostname: '*',
base: '.',
keepalive: true
}
}
}
- 修改elasticsearch配置
vim elasticsearch-7.3.2/config/elasticsearch.yml
# 将下面两行内容放到文件末尾
http.cors.enabled: true
http.cors.allow-origin: "*"
启动elasticsearch-head
cd elasticsearch-head
npm run start
访问head管理页面: http://localhost:9100/
看到下图界面就代表安装成功

网友评论