Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。【百度百科】
useradd elsearch
su elsearch
cd /home/elsearch
tar -xvf elasticsearch-6.5.4.tar.gz
vim /home/elsearch/elasticsearch-6.5.4/config/elasticsearch.ym
增加如下内容
network.host: 0.0.0.0 #设置ip地址,任意网络均可访问
编写启动脚本,进行es启动
nohup /home/elsearch/elasticsearch-6.5.4/bin/elasticsearch >/home/elsearch/elasticsearch-6.5.4/logs/es.out &
tail -f /home/elsearch/elasticsearch-6.5.4/logs/es.out
执行命令
curl 127.0.0.1:9200
出现下述结果即启动成功
{
"name" : "0EcgAD6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "YuE53cDSQwW8gHbfVEcTjA",
"version" : {
"number" : "6.5.4",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "d2ef93d",
"build_date" : "2018-12-17T21:17:40.758843Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
参考博文:es启动常见错误
#拉取镜像
docker pull mobz/elasticsearch-head:5
#创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
#启动容器
docker start elasticsearch-head
vim /home/elsearch/elasticsearch-6.5.4/config/elasticsearch.ym
添加如下内容:
http.cors.enabled: true
http.cors.allow-origin: "*"
(1)异常问题
(2)解决
修改es-head中vendor.js文件中的contentType
[root@centos01 elsearch]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
beadcbead946 mobz/elasticsearch-head:5 "/bin/sh -c 'grunt s…" 22 hours ago Up About an hour 0.0.0.0:9100->9100/tcp elasticsearch-head
[root@centos01 elsearch]# docker exec -it beadcbead946 /bin/bash
root@beadcbead946:/usr/src/app/_site# vim /usr/src/app/_site/vendor.js
将 6886、7574中行 contentType: “application/x-www-form-urlencoded” 修改为 contentType: "application/json;charset=UTF-8"吗,然后重启容器即可解决。
分词就是指将一个文本转化成一系列单词的过程,也叫文本分析,在Elasticsearch中称之为Analysis。
举例:我是中国人 --> 我/是/中国人
IK分词器 Elasticsearch插件地址:ik分词器
将下载的安装包解压至/elasticsearch/plugins/ik目录下,然后重启es即可。
POST http://10.1.84.116:9200/_analyze
// 参数
{
"analyzer": "ik_max_word",
"text": "我是中国人"
}
// 结果
{
"tokens": [
{
"token": "我",
"start_offset": 0,
"end_offset": 1,
"type": "CN_CHAR",
"position": 0
},
{
"token": "是",
"start_offset": 1,
"end_offset": 2,
"type": "CN_CHAR",
"position": 1
},
{
"token": "中国人",
"start_offset": 2,
"end_offset": 5,
"type": "CN_WORD",
"position": 2
},
{
"token": "中国",
"start_offset": 2,
"end_offset": 4,
"type": "CN_WORD",
"position": 3
},
{
"token": "国人",
"start_offset": 3,
"end_offset": 5,
"type": "CN_WORD",
"position": 4
}
]
}
至此,分词器安装成功