Elasticsearch学习环境搭建

Elasticsearch安装

官方文档

下载windows 7.17.5版本安装包,安装包是一个zip,和tomcat一样解压即可用,elasticsearch依赖JDK环境,至少需要JDK 1.8版本。

运行

 # 进入bin目录
 .\elasticsearch.bat

启动完毕后,浏览器输入http://localhost:9200/将会得到以下结果

{
    "name": "DESKTOP-EA3D6O1",
    "cluster_name": "elasticsearch",
    "cluster_uuid": "mgtShLI9R2-g57-_3ARkfQ",
    "version": {
        "number": "7.17.5",
        "build_flavor": "default",
        "build_type": "zip",
        "build_hash": "8d61b4f7ddf931f219e3745f295ed2bbc50c8e84",
        "build_date": "2022-06-23T21:57:28.736740635Z",
        "build_snapshot": false,
        "lucene_version": "8.11.1",
        "minimum_wire_compatibility_version": "6.8.0",
        "minimum_index_compatibility_version": "6.0.0-beta1"
    },
    "tagline": "You Know, for Search"
}

可视化界面安装(elasticsearch-head)

下载地址

git clone git@github.com:mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start

访问http://localhost:9100/

连接elasticsearch

在elasticsearch服务端中配置跨域,在安装目录/config/elasticsearch.yml中加入以下配置

http: 
  cors:
    enabled: true
    allow-origin: "*"

此外,elasticsearch-head还有一个chrome plugin,使用它可以不用配置跨域。

安装Kibana

下载地址

为了不必要的麻烦,下载与elasticsearch同样的版本7.17.5

运行

# 进入bin目录
.\kibana.bat

访问http://localhost:5601

配置中文界面,在安装目录/config/kibana.yml中加入以下配置

i18n.locale: "zh-CN"

docker安装

services:
  elasticsearch:
    image: elasticsearch:7.17.5
    container_name: elasticsearch
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
    volumes:
      - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./elasticsearch/data:/usr/share/elasticsearch/data
      - ./elasticsearch/plugins:/usr/share/elasticsearch/plugins
    networks:
      elastic:
        aliases:
          - elasticsearch

  kibana:
    image: kibana:7.17.5
    container_name: kibana
    ports:
      - 5601:5601
    volumes:
      - ./kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
    depends_on:
      - elasticsearch
    networks:
      elastic:
        aliases:
          - kibana
    
networks:
  elastic:
    name: elastic
    driver: bridge

其中使用到的两个文件内容如下

elasticsearch.yml

cluster.name: "docker-cluster"
# 任意网卡IP都能访问
network.host: 0.0.0.0
# 不要去下载GeoIP全球ASN-IP离线定位库,否则启动会有报错,尽管不影响正常运行
ingest.geoip.downloader.enabled: false

kibana.yml

#
# ** THIS IS AN AUTO-GENERATED FILE **
#

# Default Kibana configuration for docker target
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"

默认内容都是先启动容器,然后从容器下载下来得到的。

注:macos启动会报错,查看日志会发现是挂载的plugins目录下有.DS_Store文件导致,rm -f删除该文件即可,macos脑瘫设计。

IK分词器

默认的standard分词器对中文不是很友好,没有对中文进行合理分词,它是一个汉字就是一个token,如中国人会拆成中、国、人3个token。

ik分词器下载地址

下载和elasticsearch一样的版本即可。

由于docker安装时挂载了plugins目录,因此只需要解压缩到plugins/ik/目录下,重启容器即可。

posted on 2022-08-21 21:39  wastonl  阅读(75)  评论(0编辑  收藏  举报