es简介
Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎
Elastic官网
https://www.elastic.co/cn/
主要功能:
分布式搜索
数据分析
分组和聚合
es下载地址
https://www.elastic.co/cn/downloads/
linux安装es
- 将下载的安装包上传导linux服务器,我的版本是elasticsearch-7.2.0-linux-x86_64.tar.gz
- 创建usr/local/soft/es目录,将es解压到这个目录中
- 修改es的yum文件
node.name: node-1
// 这个很重要
http.host: 0.0.0.0
http.port: 9200
- 修改es的jvm.options
-Xms256M
-Xmx256M
- 创建新的用户来启动es
- useradd esuser
- 赋予权限
chown -R esuser:esuser /usr/local/software/elasticsearch-7.2.0
- 切换到esuser用户
su esuser
- 通过es用户后台启动es
sh elasticsearch -d
- 验证是否启动成功
curl -X GET "http://localhost:9200"
添加ik到es中
- 下载ik的版本必须和es版本对应
- 将ik放到es的plugin目录下进行解压
es重启后会加载ik
es中新增索引post
curl -X PUT "localhost:9200/post"
将分词器修改成ik
- 关闭索引
POST post/_close
- 配置ik
PUT post/_settings
{
"number_of_replicas": 0,
"index":{
"analysis.analyzer.default.type":"ik_max_word",
"analysis.search_analyzer.default.type":"ik_smart"
}
}
- 开启post索引
POST post/_open
创建es的mapping,根据自己的需求创建
curl --location --request PUT '787k.fun:9200/post/_mapping' \
--header 'Content-Type: application/json' \
--data-raw '{
"properties": {
"id": {
"type": "integer"
},
"title": {
"type": "text"
},
"content": {
"type": "text"
},
"blogImg": {
"type": "keyword"
},
"html_content": {
"type": "keyword"
},
"authorId": {
"type": "integer"
},
"authorName": {
"type": "keyword"
},
"tag": {
"type": "integer"
},
"type": {
"type": "integer"
},
"status": {
"type": "integer"
},
"commentCount": {
"type": "integer"
},
"score": {
"type": "double"
},
"created": {
"type": "date"
},
"updated": {
"type": "date"
}
}
}'
springboot集成es
- pom文件加入依赖
<!--es开始-->
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.2.0</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.2.0</version>
</dependency>
<!--es结束-->
- yum文件添加文件
elasticsearch.host=localhost
elasticsearch.port=9200