elasticSearch 安装 
                                                    
                        
                    
                    
  
                    
                    elasticsearch 7.10.0 官方文档
安装环境:CentOS7.6 1核2G
预内存占用:1300M 左右
安装 java1.8
- yum install java-1.8.0-openjdk.x86_64默认安装目录:- /usr/lib/jvm
- 配置环境变量 vim /etc/profile
 让配置立即生效# java # 第一项是 bin目录的上级目录路径 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64/jre export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/libsource /etc/profile
- 测试安装java -versionecho $PATH检查打印的路径是否存在
安装 elasticsearch
- 下载源码包并解压 约300Mwget -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gzmv elasticsearch-7.10.0 /usr/local/
- 配置
 配置文件在config下的elasticsearch.yml# 因只有一个服务器,所以如下配置 node.name: node-1 cluster.initial_master_nodes: ["node-1"] # 填写127.0.0.1或为了方便测试修改为所有ip都可以访问。端口默认9200,可修改如9508。 network.host: 0.0.0.0 http.port: 9508 # 日志与数据保存路径,默认即是如下。这里不做修改。 #path.data: /var/lib/elasticsearch #path.logs: /var/log/elasticsearch
- 出于安全考虑,es不允许root启动,创建用户,并将elasticsearch-7.10.0文件夹拥有者赋予该用户。groupadd elsearch useradd elsearch -g elsearchchown -R elsearch:elsearch elasticsearch-7.10.0
- 启动后会报一些环境错误,只需要修改几项配置即可。
 切换到上面创建的elsearch用户启动:
 通常会遇见下面三个错误:./bin/elasticsearch
 打开一个新的(1)可以创建的文件描述符数量过低 max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536] (2)用户可以创建的线程数太少 max number of threads [1024] for user [leyou] is too low, increase to at least [4096] (3)虚拟内存不足 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]CMD窗口登陆root去操作,解决如下:
 (1)vim /etc/security/limits.conf
 (2)elsearch soft nproc 65535 elsearch hard nproc 65535 elsearch soft nofile 4096 elsearch hard nofile 4096cd /etc/security/limits.d && vim 20-nproc.conf
 (3)elsearch soft nproc 4096 #root soft nproc unlimitedvim /etc/sysctl.conf# 末尾添加 vm.max_map_count = 262144sysctl -p使之生效
- 测试
 确保安全组与防火墙开放了对应的端口号。云服务器端口和防火墙端口配置
 当控制台出现[node-1] started说明启动成功,由于刚才配置elasticsearch.yml的时候,设置的所有ip都可以访问,浏览器输入http://yourhost:9508/验证。
安装中文分词 ik
Github 地址 github.com/medcl/elasticsearch-ana...
注意要按照 Versions 部分与 es版本 的对应关系下载。

- 方法1
 按照官方文档的方式./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis-ik-7.10.0.zip
- 方法2
 直接下载到plugins目录下的ik目录 并解压即可,启动时会自动加载。elasticsearch默认到plugins/ik目录下查找配置,默认没有ik目录,用elsearch用户手动创建文件夹。cd elasticsearch-7.10.0/plugins && mkdir ik && cd ikwget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.0/elasticsearch-analysis-ik-7.10.0.zip
重新启动 es ,出现[INFO ][o.e.p.PluginsService     ] [node-1] loaded plugin [analysis-ik] 即加载了插件。
curl -X POST -H "Content-Type:application/json" http://127.0.0.1:9200/_analyze?pretty=true -d '{"text":"小可爱"}'{
  "tokens" : [
    {
      "token" : "小",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "<IDEOGRAPHIC>",
      "position" : 0
    },
    {
      "token" : "可",
      "start_offset" : 1,
      "end_offset" : 2,
      "type" : "<IDEOGRAPHIC>",
      "position" : 1
    },
    {
      "token" : "爱",
      "start_offset" : 2,
      "end_offset" : 3,
      "type" : "<IDEOGRAPHIC>",
      "position" : 2
    }
  ]      
}配置同义词词典
ES 支持加载包含同义词的文件。首先在 elasticsearch/config 目录下新建 analysis 目录(名称自定义),在 analysis 目录下新建 synonym.txt , 按照官方文档要求编码必须是 utf-8,通过 vim 编辑器设置文件字符集。
:set fileencoding=utf-8文件内容如
china,China,中国以下操作是不需要重建索引的,暂停所有索引
curl -X POST 127.0.0.1:9200/_all/_close向索引增加配置项,以下为官方代码
curl -X PUT 127.0.0.1:9200/my_index/_settings
{
    "settings": {
        "index" : {
            "analysis" : {
                "analyzer" : {
                    "synonym" : {
                        "tokenizer" : "whitespace",
                        "filter" : ["synonym"]
                    }
                },
                "filter" : {
                    "synonym" : {
                        "type" : "synonym",
                        "synonyms_path" : "analysis/synonym.txt"
                    }
                }
            }
        }
    }
}上边格式转为命令行格式
curl -X PUT -H "Content-Type:application/json" 127.0.0.1:9507/hots_index/_settings -d '{"settings": {"index" : {"analysis" : {"analyzer" : {
"synonym" : {"tokenizer" : "whitespace","filter" : ["synonym"]}},"filter" : {"synonym" : {"type" : "synonym","synonyms_path" : "analysis/synonym.txt"}}}}}}'开启索引
curl -X POST 127.0.0.1:9200/_all/_open测试
curl -X POST -H "Content-Type:application/json" 127.0.0.1:9200/my_index/_analyze -d '{"analyzer": "synonym","text": "china"}'END
本作品采用《CC 协议》,转载必须注明作者和本文链接
 
           php_yt 的个人博客
 php_yt 的个人博客
         
             
             
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号 
 
推荐文章: