ElasticSearch安装步骤、分词器安装

ElasticSearch安装步骤、分词器安装docker 安装 ES 安装拉取镜像 dockerpullel 7 4 0 配置分词器 ik pinyin 切换目录 mkdir usr share elasticsearc pluginscd usr share elasticsearc plugins 新建目录 mkdiranalysi ikcdanalysis ik root 根目录中拷贝文件 mvelasticsea analysis ik 7 4 0 zip usr share elas

docker安装

ES安装

拉取镜像

# 版本已比较老 可使用较新的7.17.0 或8.0.0 docker pull elasticsearch:7.4.0 

配置分词器 ik/pinyin

#切换目录 mkdir /usr/share/elasticsearch/plugins cd /usr/share/elasticsearch/plugins #新建目录 mkdir analysis-ik cd analysis-ik #root根目录中拷贝文件 mv elasticsearch-analysis-ik-7.4.0.zip /usr/share/elasticsearch/plugins/analysis-ik #解压文件 cd /usr/share/elasticsearch/plugins/analysis-ik unzip elasticsearch-analysis-ik-7.4.0.zip 

创建容器

docker run -id --name elasticsearch -d -p 9200:9200 -p 9300:9300 -v /usr/share/elasticsearch/plugins:/usr/share/elasticsearch/plugins -e "discovery.type=single-node" elasticsearch:7.4.0 

设置开机启动

docker update --restart=always elasticsearch 

安装Kibana

docker pull kibana:7.4.0 
docker run -d -p 5601:5601 --link elasticsearch -e "ELASTICSEARCH_URL=http://192.168.200.130:9200" kibana:7.4.0 

安装elasticsearch-head

docker pull mobz/elasticsearch-head:5 docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5 
  • 解决跨域无法访问问题

进入elasticsearch容器内部,修改配置文件elasticsearch.yml

docker exec -it elasticsearch /bin/bash cd ./config vim elasticsearch.yml 

在elasticsearch.yml中添加:

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

重启 elasticsearch容器

docker restart elasticsearch 
  • 解决es高版本不显示数据问题
    进入 es-head 容器里面的 _site目录修改配置文件vendor.js

docker exec -it wonderful_gould /bin/bash  镜像中未安装vi/vim apt-get update apt-get install vim cd /usr/src/app/_site vim vendor.js 

需要修改两个地方

6886行:

contentType: "application/x-www-form-urlencoded" // 改成 contentType: "application/json;charset=UTF-8" 

7573行:

var inspectData = s.contentType === "application/x-www-form-urlencoded" && // 改成 var inspectData = s.contentType === "application/json;charset=UTF-8" && 

Linux 安装

ES安装

1、下载安装包后解压

# 下载地址 # 版本已比较老 可使用较新的7.17.0 或8.0.0 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz.sha512 shasum -a 512 -c elasticsearch-7.4.0-linux-x86_64.tar.gz.sha512 # certutil -hashfile elasticsearch-7.4.0-linux-x86_64.tar.gz.sha512 sha256 # 将elasticsearch-7.4.0-linux-x86_64.tar.gz解压到opt文件夹下. -C 大写 tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz -C /opt 

2、创建普通用户,可使用已存在用户。

因为安全问题,Elasticsearch 不允许root用户直接运行,所以要创建新用户,在root用户中创建新用户,执行如下命令:

useradd esuser # 新增esuser用户 passwd esuser # 为esuser用户设置密码 

3、为新用户授权

chown -R esuser:esuser /opt/elasticsearch-7.4.0 #文件夹所有者 

4、修改elasticsearch.yml文件

vim /opt/elasticsearch-7.4.0/config/elasticsearch.yml 
# ======================== Elasticsearch Configuration ========================= cluster.name: my-application node.name: node-1 network.host: 0.0.0.0 http.port: 9200 cluster.initial_master_nodes: ["node-1"] 

cluster.name:配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称

node.name:节点名,elasticsearch会默认随机指定一个名字,建议指定一个有意义的名称,方便管理

network.host:设置为0.0.0.0允许外网访问

http.port:Elasticsearch的http访问端口

cluster.initial_master_nodes:初始化新的集群时需要此配置来选举master

5、修改配置文件

新创建的用户最大可创建文件数太小,最大虚拟内存太小,切换到root用户,编辑下列配置文件, 添加类似如下内容

# 切换到root用户 su root #1. ===最大可创建文件数太小======= vim /etc/security/limits.conf # 在文件末尾中增加下面内容 esuser soft nofile 65536 esuser hard nofile 65536 # ===== vim /etc/security/limits.d/20-nproc.conf # 在文件末尾中增加下面内容 esuser soft nofile 65536 esuser hard nofile 65536 * hard nproc 4096 # 注:* 代表Linux所有用户名称  #2. ===最大虚拟内存太小======= vim /etc/sysctl.conf # 在文件中增加下面内容 vm.max_map_count= # 重新加载,输入下面命令: sysctl -p 

6、启动elasticsearch

su esuser # 切换到alaric用户启动 cd /opt/elasticsearch-7.4.0/bin ./elasticsearch #启动 

7、访问elasticsearch

访问前开放确保开放9200端口

访问http:/ip:9200,出现以下信息则启动成功

{ 
    "name" : "7319e4d6c114", "cluster_name" : "docker-cluster", "cluster_uuid" : "kj373c7FRiy9ShWydysg", "version" : { 
    "number" : "7.4.0", "build_flavor" : "default", "build_type" : "docker", "build_hash" : "22ee61a198cb4db791ea66e3f11ab9910", "build_date" : "2019-09-27T08:36:48.Z", "build_snapshot" : false, "lucene_version" : "8.2.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" } 
重点几个关注下即可: number" : "7.4.0" 表示elasticsearch版本 lucene_version" : "8.2.0" 表示lucene版本 name : 默认启动的时候指定了 ES 实例名称 cluster_name : 默认名为 elasticsearch 

分词器安装

  • Ik分词器安装

建议windows下编译后再将压缩文件上传到服务器

# 下载 git clone https://github.com/medcl/elasticsearch-analysis-ik # 切换分支 # 这时候 git 可能会提示你当前处于一个“detached HEAD" 状态。(detached 分离的)。因为 tag 相当于是一个快照,是不能更改它的代码的。 # 切换后可打开查看pom文件依赖的elasticsearch版本号确认 git checkout v7.4.0 # 打包 mvn package 

也可以直接下载编译好的压缩吧(对应版本不全)

https://github.com/medcl/elasticsearch-analysis-ik/releases 

服务器端

#切换目录 cd /opt/elasticsearch-7.4.0/plugins/ #新建目录 mkdir analysis-ik cd analysis-ik #package执行完毕后会在当前目录下生成target/releases目录,将其中的elasticsearch-analysis-ik-7.4.0.zip上传到服务器 #执行解压 unzip /opt/elasticsearch-7.4.0/plugins/analysis-ik/elasticsearch-analysis-ik-7.4.0.zip 

将elasticsearch-analysis-ik-7.4.0目录下的config目录中的所有文件上传到服务器到elasticsearch的config目录

cd /opt/elasticsearch-7.4.0/config 

重启elasticsearch

测试

GET /_analyze { 
    "analyzer": "ik_max_word", "text": "乒乓球明年总冠军" } 
  • 拼音分词器同理
git clone https://github.com/medcl/elasticsearch-analysis-pinyin git checkout 7.4.0 
cd /opt/elasticsearch-7.4.0/plugins/ # 新建目录 mkdir pinyin ……同理 

测试

GET /_analyze { 
    "analyzer": "pinyin", "text": "pingpangqiumingnianzongguanjun" } 

注意:分词器的名称“pinyin”为放置分词器jar包文件夹的名字

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223821.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午1:22
下一篇 2026年3月17日 下午1:22


相关推荐

  • intellij激活码_通用破解码「建议收藏」

    intellij激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    52
  • 数据库锁表如何解决_mysql数据库怎么解锁

    数据库锁表如何解决_mysql数据库怎么解锁这个问题之前遇到过一次,但是由于不知道导致锁表的原因,也没细想,就知道表被锁了,然后让别人把表给解锁了。但是前天的一次操作,让我亲眼见证了导致锁表的过程,以及如何给lock的表解锁。1.导致锁表的原因(同志们也可以参考是不是也是同样的操作啊。。。):1.1首先是大前提我们正常的框架在service层都会有事物控制,比如我一个service层的方法要执行更新两张表,这两个表只有同…

    2022年8月23日
    7
  • 基于 Java GenKit 构建生成式 AI 应用指南(完整版)

    基于 Java GenKit 构建生成式 AI 应用指南(完整版)

    2026年3月16日
    2
  • dubbo简介

    dubbo简介dubbo简介

    2022年4月25日
    49
  • 我竟然不再抗拒 Java 的类加载机制了

    我竟然不再抗拒 Java 的类加载机制了很长一段时间里,我对Java的类加载机制都非常的抗拒,因为我觉得太难理解了。但为了成为一名优秀的Java工程师,我决定硬着头皮研究一下。01、字节码在聊Java类加载机制之前,需要先了解一下Java字节码,因为它和类加载机制息息相关。计算机只认识0和1,所以任何语言编写的程序都需要编译成机器码才能被计算机理解,然后执行,Java也不例外。Java在诞生的时候喊出了…

    2022年5月10日
    37
  • ContentPlaceHolderID属性

    ContentPlaceHolderID属性内容页ContentPlaceHolder里使用CSS我想在内容页里放个文本框和按钮,然后让他们并排,我加了CSS不行,网上查了说内容页不能使用CSS好像,那应该怎么做才能让他们并排呢?内容页可以

    2022年6月30日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号