Elasticsearch6.2.3及其head插件安装 中文分词 elasticsearch-analysis-ik 拼音分词 同义词分词

1.下载并解压elasticsearch

官网 http://www.elastic.co/downloads/elasticsearch

本次下载地址 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gz

 解压  tar -zxvf  elasticsearch-6.2.3.tar.gz

2.修改配置elasticsearch.yml文件

 单机版配置

 

# 集群的名字(默认elasticsearch)
cluster.name: snjx-search
# 节点名字  
node.name: master  
# 数据存储目录(多个路径用逗号分隔)  
path.data: /usr/local/snjx/datas  
# 日志目录  
path.logs: /usr/local/snjx/logs  
#本机的ip地址
network.host: 192.168.1.111 
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["192.168.1.111:9300"]
# 设置节点间交互的tcp端口(集群),(默认9300)  
transport.tcp.port: 9300  
# 监听端口(默认)  
http.port: 9200  
# 增加参数,使head插件可以访问es  
http.cors.enabled: true  
http.cors.allow-origin: "*

  集群配置

 

cluster.name: snjx-search
node.name: node-5
#如果是master节点设置成true
node.master: false
#如果是data节点设置成true
node.data: true
path.data: /usr/local/snjx/datas
path.logs: /usr/local/snjx/logs
network.host: master
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["10.20.23.29:9300", "10.20.23.38:9300","10.20.23.41:9300"]
discovery.zen.minimum_master_nodes: 1
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
#解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-credentials: true

 

   config/   jvm.options配置

 

默认1G  由于是笔记本搭建虚机,配置有限仅供学习使用 特设置为512M 土豪请无视

 如果进行了datas.logs 自定义路径

 search 用户需要赋权

 

 3.启动es

  如果是用root账号启动,会报以下错误

Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
  • 这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑, 
    建议创建一个单独的用户用来运行ElasticSearch

  • 创建search用户组及search用户

    groupadd search
    useradd search -g search -p search
    • 1
    • 2
  • 更改elasticsearch文件夹及内部文件的所属用户及组为search:search

    cd /usr/local/snjx/elasticsearch
    chown -R search:search  elasticsearch-6.2.3
    • 1
    • 2
  • 切换到elsearch用户再启动      su search 

    cd /usr/local/snjx/elasticsearch/elasticsearch-6.2.3/bin 
    
  • ./elasticsearch  正常启动
  • ./elasticsearch -d  后台启动

 4.http访问192.168.1.111:9200  5.head插件下载

 

wget  https://github.com/mobz/elasticsearch-head/archive/master.zip

6.安装nodejs  head插件依赖node环境

 

wget https://npm.taobao.org/mirrors/node/latest-v9.x/node-v9.10.0-linux-x64.tar.gz

 配置下环境变量,编辑vim  /etc/profile添加

#node
export NODE_HOME=/usr/local/snjx/node/node-v9.10.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules

执行 source /etc/profile 刷新文件

7.安装grunt

grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动

cd /usr/local/snjx/elasticsearch/elasticsearch-head-master

 

npm install -g grunt-cli  //执行后会生成node_modules文件夹

检查是否安装成功

修改hostname  vim /etc/hosts 

重启生效 查看是否修改成功

hostname

8.修改head插件源码

修改服务器监听地址:Gruntfile.js   

在keepalive:true   下面添加  hostname: '*'

修改连接地址:_site/app.js

9.运行head

在elasticsearch-head-master目录下

 

npm install(安装下载下来的包)

grunt server

 

后台启动elasticsearch-head

nohup grunt server &

 

nohup grunt server &exit

如果想关闭head插件,查找进程命令:

ps aux|grep head

 

10.访问http://ip:9100

 

 

注意  如果 启动报错

 

这里面很明显的有两个参数的值太小

 1.max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

修改/etc/security/limits.conf文件,添加或修改如下行:

*        hard    nofile           65536
*        soft    nofile           65536

2.max virtual memory areas vm.max......

修改 /etc/sysctl.conf 文件,添加如下行:

vm.max_map_count=262144

修改好了以后,然后sysctl -p使系统配置生效,调用sysctl -a查看,发现参数并没有变动,要重启才可以。

中文分词安装

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.3/elasticsearch-analysis-ik-6.2.3.zip

官网地址   https://github.com/medcl/elasticsearch-analysis-ik

拼音分词

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v6.2.3/elasticsearch-analysis-pinyin-6.2.3.zip

官网地址 https://github.com/medcl/elasticsearch-analysis-pinyin

同义词分词

官网地址 https://github.com/bells/elasticsearch-analysis-dynamic-synonym/tree/master

./bin/elasticsearch-plugin install https://github.com/bells/elasticsearch-analysis-dynamic-synonym/releases/download/5.1.1/elasticsearch-analysis-dynamic-synonym-5.1.1.zip

手动安装分词插件

下载完成后unzip -x elasticsearch-analysis-pinyin-5.6.8.zip       mv /usr/local/snjx/elk/elasticsearch-5.6.8/plugins

ik 带有两个分词器
ik_max_word :会将文本做最细粒度的拆分;尽可能多的拆分出词语

ik_smart:会做最粗粒度的拆分;已被分出的词语将不会再次被其它词语占有

The plugin includes analyzer: pinyin , tokenizer: pinyin and token-filter: pinyin

 

说明:synonyms_path 是必须要配置的,根据它的值是否是以http://或者https://开头来判断是本地文件,还是远程文件。

interval 非必须配置的,默认值是60,单位秒,表示间隔多少秒去检查同义词文件是否有更新。

ignore_case 非必须配置的, 默认值是false。

expand 非必须配置的, 默认值是true。

format 非必须配置的, 默认值是空字符串, 如果为wordnet,则表示WordNet结构的同义词。

热更新同义词说明

  1. 对于本地文件:主要通过文件的修改时间戳(Modify time)来判断是否要重新加载。
  2. 对于远程文件:synonyms_path 是指一个url。 这个http请求需要返回两个头部,一个是 Last-Modified,一个是 ETag,只要有一个发生变化,该插件就会去获取新的同义词来更新相应的同义词。

注意: 不管是本地文件,还是远程文件,编码都要求是UTF-8的文本文件

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值