ElasticSearch
约 438 个字 83 行代码 预计阅读时间 4 分钟
ElasticSearch、kibana及IK分词器的安装(7.17.18版本)
前置要求
安装docker
创建docker网络
镜像拉取
ElasticSearch
kibana
镜像启动
启动ES镜像
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx1024m" \
-e "discovery.type=single-node" \
-e "xpack.security.enabled=true" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.17.18
进入ES容器内部
设置内置用户的密码
配置 Kibana 连接到安全的 Elasticsearch
docker run -d \
--name kibana \
--net es-net \
-p 5601:5601 \
-e "ELASTICSEARCH_HOSTS=http://es:9200" \
-e "ELASTICSEARCH_USERNAME=kibana_system" \
-e "ELASTICSEARCH_PASSWORD=<your_kibana_system_password>" \
kibana:7.17.18
验证安装
- Elasticsearch: 打开浏览器访问
<ip>:9200
,你应该会看到 Elasticsearch 的 JSON 响应。由于启用了安全功能,你需要提供用户名和密码。 - Kibana: 打开浏览器访问
<ip>:5601
,你应该会看到 Kibana 的界面。由于启用了安全功能,你需要提供用户名和密码。
安装IK分词器插件
进入ES内部
使用 curl
命令下载 IK 分词器插件
curl -L -O https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.18/elasticsearch-analysis-ik-7.17.18.zip
安装 IK 分词器插件
验证 IK 分词器的安装
重启 Elasticsearch 容器
ES 语法
参考文档:Elasticsearch__Matthew的博客-CSDN博客
索引相关操作
ES 中的索引大致相当于 SQL 中的表格
创建索引库
PUT /<索引库名>
{
"mappings": {
"properties": {
"<字段名>": {
"<属性>": "<属性值>",
"analyzer": "ik_smart"
},
"email": {
"type": "keyword",
"index": false
},
"name": {
"type": "object",
"properties": {
"firstName": {
"type": "keyword"
},
"lastName": {
"type": "keyword"
}
}
}
}
}
}
创建索引库时候的一些注意点
- 对于字符串类型的数据,如果需要分词,就把类型设置为 text,如果不需要分词,就把类型设置为 keyword。
- 对于不需要参加搜索的数据,将 index 的属性值设置为 false。
- 如果想要对多个字段进行搜索,可以额外创建一个 all 字段,然后将需要进行搜索的字段使用 copy_to 属性 copy 到 all 字段。
查询索引库
删除索引库
添加新的字段
文档相关操作
文档相当于数据库中的一条一条数据
插入文档
POST /<索引库名>/_doc/<id>
{
"<字段名>": <具体数据>,
"email": "zy@itcast.cn",
"name": {
"firstName": "云",
"lastName": "赵"
}
}
查询文档
删除文档
修改文档
全局修改:会删除旧文档,添加新文档。既能修改,又能新增。