如何安装ES的IK分词器插件?

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 如何安装ES的IK分词器插件?

http://blog.csdn.net/napoay/article/details/53896348


1.更新yum等资源


sudo yum update -y

sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

sudo rpm -ivh https://kojipkgs.fedoraproject.org//packages/http-parser/2.7.1/3.el7/x86_64/http-parser-2.7.1-3.el7.x86_64.rpm


sudo yum install npm
sudo yum install -y git
sudo yum install -y bzip2
git clone git://github.com/mobz/elasticsearch-head.git

2.将源码包下载后剪切到/bigdata目录,并改所属用户和组


sudo chown -R wang:123465 /bigdata/elasticsearch-head


3.进入到elasticsearch-head中


cd elasticsearch-head


4.编译安装


npm install


5.打开elasticsearch-head-master/Gruntfile.js,找到下面connect属性,新增hostname: '0.0.0.0',

  connect: {  
                    server: {  
                            options: {  
                                    hostname: '0.0.0.0',  
                                    port: 9100,  
                                    base: '.',  
                                    keepalive: true  
                            }  
                    }  
            }  

6.编辑elasticsearch-5.4.3/config/elasticsearch.yml,加入以下内容:


http.cors.enabled: true

http.cors.allow-origin: "*"


7.运行服务


自己写一个脚本后台运行 监控页面

[......head]
vi start-head.sh

8.!/bin/sh

npm run start >> .logs 2>&1 &

chmod +x start-head.sh

./start-head.sh


二、安装IK分词


1.下载对应版本的插件 5.4.3


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


2.首先下载es对应版本的ik分词器的zip包,上传到es服务器上,在es的安装目录下有一个plugins的目录,在这个目录下创建一个叫ik的目录然后将解压好的内容,拷贝到ik目录将ik目录拷贝到其他的es节点

yum install unzip
mkdir ik
cp elas...zip ik/
unzip elastic...
rm -rf elas...zip
mv ik /bigdata/ela.../plugins/
scp -r ik/ hadoop7:$PWD

3.重新启动所有的es


4.测试插件


创建索引名字叫news


curl -XPUT http://192.168.52.206:9200/news


创建mapping(相当于数据中的schema信息,表名和字段名以及字段的类型)

curl -XPOST http://192.168.52.206:9200/news/fulltext/_mapping -d'
{
"properties": {
"content": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
}
}
}'


//查询

curl -XPOST http://192.168.52.206:9200/news/fulltext/_search -d'
{
"query" : { "match" : { "content" : "中国" }},
"highlight" : {
"pre_tags" : ["<font color='red'>", "<tag2>"],
"post_tags" : ["</font>", "</tag2>"],
"fields" : {
"content" : {}
}
}
}'

curl -XGET 'http://192.168.52.206:9200/_analyze?pretty&analyzer=ik_max_word' -d '联想是全球最大的笔记本厂商'


curl -XGET 'http://192.168.52.206:9200/_analyze?pretty&analyzer=ik_smart' -d '联想是全球最大的笔记本厂商'


curl -XPUT 'http://192.168.52.206:9200/iktest?pretty' -d '{
"settings" : {
"analysis" : {
"analyzer" : {
"ik" : {
"tokenizer" : "ik_max_word"
}
}
}
},
"mappings" : {
"article" : {
"dynamic" : true,
"properties" : {
"subject" : {
"type" : "string",
"analyzer" : "ik_max_word"
}
}
}
}
}'
curl -XPUT 'http://192.168.52.206:9200/iktest?pretty' -d '{
"settings" : {
"analysis" : {
"analyzer" : {
"ik" : {
"tokenizer" : "ik_max_word"
}
}
}
},
"mappings" : {
"article" : {
"dynamic" : true,
"properties" : {
"subject" : {
"type" : "string",
"analyzer" : "ik_max_word"
}
}
}
}
}'

curl -XGET 'http://192.168.52.206:9200/_analyze?pretty&analyzer=ik_max_word' -d ‘中华人民共和国’

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
8月前
|
自然语言处理 Java Maven
IK分词器安装
IK分词器安装
151 0
|
自然语言处理 Java 开发工具
使用KIbana测试IK分词器
使用KIbana测试IK分词器
|
存储 自然语言处理 索引
ES分词器使用说明(analyzer)
本文章主要介绍了分词器的配置方法,以及分词器的优先级,同时配置了多个维度的分词器,哪一个分词器会生效,当出现分词结果不符合预期的时候,可以通过这个本文档内容进行梳理和排查。
2153 0
|
3月前
|
自然语言处理
Elasticsearch+IK+pinyin自定义分词器
Elasticsearch+IK+pinyin自定义分词器
29 0
|
10月前
|
自然语言处理 索引
【ES系列三】——ES集成ik分词并测试
解压后的结构如下图(需要放到elasticsearch安装目录的plugins文件夹下进行解压)
|
10月前
|
自然语言处理 Shell 索引
【ES系列七】——ik自定义分词词库
在利用ik分词的过程中,当ik的分词规则不满足我们的需求了,这个时候就可以利用ik的自定义词库进行筛选,举个例子:当我要将“我是中国人,我想测试一下”这句话通过分词,将“我想测试一下”分为一个词的时候,就需要利用ik的自定义词库进行灌入指定的词。
【ES系列七】——ik自定义分词词库
|
12月前
|
自然语言处理 索引
白话Elasticsearch29-IK中文分词之IK分词器配置文件+自定义词库
白话Elasticsearch29-IK中文分词之IK分词器配置文件+自定义词库
239 0
|
自然语言处理 Java 开发工具
ES上传自编译IK分词插件
ES上传自编译IK分词插件
ES上传自编译IK分词插件
|
自然语言处理 Java
IK分词热更新,so easy!
IK分词热更新,so easy!
107 0
IK分词热更新,so easy!
|
Java Windows
ES&IK环境搭建
ES&IK环境搭建
145 0