简介
ElasticSearch是一个基于Lucene的搜索服务器;
Elasticsearch最关键的就是提供强大的索引能力了, Elasticsearch索引的精髓
一切设计都是为了提高搜索的性能
安装ES
https://hub.docker.com/_/elasticsearch?tab=tags
拉取elasticsearch镜像;
docker pull elasticsearch:7.5.1
安装elasticsearch容器
docker run -d --name es7_server -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.5.1
查看是否安装成功
安装Kibana
Kibana 是为 Elasticsearch设计的开源分析和可视化平台;
拉取kibana镜像;
版本要跟es一致;
docker pull kibana:7.5.1
安装kibana容器
docker run -d --name kibana7.5.1 -p 5601:5601 --link b485e5c9bf22 kibana:7.5.1
b485e5c9bf22 为es 容器ID;
访问kibana
http://localhost:5601/app/kibana
Kibana server is not ready yet ? 报错
进入kibana容器, 修改kibana.yml配置文件
[root@localhost docker]# docker exec -it 187db87cb147 /bin/bash
bash-4.2$ vi config/kibana.yml
将配置文件kibana.yml中的elasticsearch.url改为正确的链接,默认为: http://elasticsearch:9200 改为http://自己的IP地址:9200
Elastic HD
ElasticHD 是一款 ElasticSearch的可视化应用。不依赖ES的插件安装,更便捷;导航栏直接填写对应的ES IP和端口就可以操作Es了
docker run -p 9800:9800 -d --link b485e5c9bf22 containerize/elastichd
b485e5c9bf22 为es 容器ID;
elasticsearch-head
拉取镜像
docker pull mobz/elasticsearch-head:5
创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
启动容器
docker start elasticsearch-head
访问
浏览器打开: http://IP:9100
输入es地址点击连接
- 无法连接问题
进入elassticsearch安装目录,修改配置文件elasticsearch.yml
vi config/elasticsearch.yml
添加跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
重启es;
既可以连接成功了
概念
映射(Mapping)
Mapping 类似于数据库中的表结构定义, 定义文档及其包含的字段是如何存储和索引的过程;
- 定义index下的字段名
- 定义字段类型,比如数值型、浮点型、布尔型等
- 定义倒排索引相关的设置,比如是否索引、记录position等
{
"mappings": {
"users": {
"properties": {
"name": { "type": "text" },
"age": { "type": "integer" },
"created": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis"
}
}