zoukankan      html  css  js  c++  java
  • docker上安装elasticsearch和ik分词器插件和header,实现分词功能

    docker run -di --name=tensquare_es -p 9200: -p 9300:9300 elasticsearch:5.6.8

    创建elasticsearch容器(如果版本不是最新的需要在后面加上版本号)

    直接浏览器访问创建对应的索引库(这里使用postman)

    search模块对应application.yml文件设置

    添加之后9200可用,9300不可用,下面让虚拟机上面的9300端口可用

    docker exec  -it tensquare_es /bin/bash

    将里面的elasticsearch.yml文件复制到容器外面的/usr/share文件夹下(复制的时候注意需要启动容器)

    docker cp tensquare_es:/usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch.yml

    删除之前的容器,创建新的容器

    docker rm tensquare_es
    
    docker run -di --name=tensquare_es -p 9200:9200 -p9300:9300 -v /usr/share/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  elasticsearch:5.6.8

    后面带有颜色的表示,不使用冒号后面容器中的配置文件,使用前面指定的文件,这样做好像因为容器相当于一台电脑,但是里面没有vi编辑器,不能直接修改

    修改复制好的elasticsearch.yml文件,删除transport.host: 0.0.0.0所在行的注释(去掉最前面的#),表示允许所有的主机访问,

    同样的文件中 添加对应的跨域修改内容,之后重启docker,容器可以使用,添加下面的内容是为了后面的header的使用

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

     修改后的elasticsearch.yml文件内容

    同时需要放开更多的资源(docker的要求,因为这时候允许所有IP都可以访问了,所以需要更多的资源),否则容器启动不久就会挂掉,

    解决办法,修改/etc/security/limits.conf在文件里追加下面内容(可以一上来就修改这个文件)

    * soft nofile 65536
    * hard nofile 65536

    nofile 单个进程允许打开的最大文件个数 soft是软限制,hard是硬限制

    修改后

    在/etc/sysctl.conf文件中追加

    vm.max_map_count=655360

    表示限制一个进程最大能拥有虚拟内存的数量。

    修改后

     到现在为止,可以使用进行英文的分词

    ik分词器插件的安装

    直接将分词器目录拷贝到 容器所在目录的/bin/bash/plugins

    Alt+p打开SecureCRT的传输界面,使用下面命令传输ik文件夹

    sftp> put ‐r d:setupik

    z在ik所在的文件夹下,拷贝到上面所说的插件目录

    docker cp ik tensquare_es:/usr/share/elasticsearch/plugins

    重启tensquare_es,测试,可以实现中文的分词,否则只能实现英文的分词

    header 安装(方便管理elasticsearch)

    docker run -di --name=tensquare_header -p 9100:9100  mobz/elasticsearch-head:5

    注意跨域的问题

    浏览器访问相应的端口号,连接对应端口的elasticsearch

    上面的索引库是之前使用postman访问的时候就创建的创建的。

    elasticsearch注意事项,

    使用Java开发的时候使用9300接口,其他的使用9200端口

  • 相关阅读:
    SpringBoot整合dubbo2.7.12
    linux安装zookeeper
    javaassist创建对象
    jmeter websocket
    jmeter使用
    jmeter返回值乱码
    HTTP 头 Connection:close 作用 和 解决服务器产生大量close_wait问题
    服务器TCP连接中 TIME_WAIT 状态过多
    Chrome 浏览器远程调试 【转】
    拼多多聊天记录监控、拼多多客服机器人代码、拼多多智能机器人代码、拼多多自动发货、拼多多虚拟卡号自动发货
  • 原文地址:https://www.cnblogs.com/feixiangdecainiao/p/10538299.html
Copyright © 2011-2022 走看看