ElasticSearch中文分词(IK)

ElasticSearch安装

官网:https://www.elastic.co

1.ElasticSearch安装

1.1.下载安装公共密钥

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

1.2.在 /etc/yum.repos.d/ 目录下建立 elasticsearch.repo 文件

vim /etc/yum.repos.d/elasticsearch.repo

在文件中写入:

[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

保存退出

1.3.使用yum安装

yum install elasticsearch

1.4.添加系统服务

chkconfig --add elasticsearch
service elasticsearch start  //启动
service elasticsearch stop  //关闭
service elasticsearch status//查看状态

启动后访问 localhost:9200  得到

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "5.0.1",
    "build_hash" : "f27399d",
    "build_date" : "2016-11-21T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "6.2.1"
  },
  "tagline" : "You Know, for Search"
}

2 安装ik中文分词插件

2.1 ik git地址 https://github.com/medcl/elasticsearch-analysis-ik

克隆ik

git clone https://github.com/medcl/elasticsearch-analysis-ik
git checkout tags/v5.0.1 切换版本 版本号可以修改

2.2 通过java工具打包

mvn package

如果提示 mvn 不存在看下面

打包后  在  target/releases/  这个路径下面 有一个 elasticsearch-analysis-ik-{version}.zip 这个文件  将这个压缩文件复制到  ElasticSearch 下plugins/ik 目录下 然后解压

我的 plugins 目录是  /usr/share/elasticsearch/plugins  这个路

建立 ik 目录

mkdir /usr/share/elasticsearch/plugins/ik

复制文件

cp  ./target/releases/elasticsearch-analysis-ik-{version}.zip  /usr/share/elasticsearch/plugins/ik

解压

cd /usr/share/elasticsearch/plugins/ik
unzip elasticsearch-analysis-ik-{version}.zip

2.3 将ik 插件 安装到 ElasticSearch中

创建索引m8:

http put ‘http://localhost:9200/m8‘

如果提示http put不存在看下面

为索引(m8)及类型(logs)下的字段(message)设置分词器(分词器可选ik_smart或ik_max_word):

http put localhost:9200/m8 -d ‘{
    "settings" : {
        "analysis" : {
            "analyzer" : {
                "ik" : {
                    "tokenizer" : "ik_smart"
                }
            }
        }
    },
    "mappings" : {
        "logs" : {
            "dynamic" : true,
            "properties" : {
                "message" : {
                    "type" : "string",
                    "analyzer" : "ik_smart"
                }
            }
        }
    }
}‘

案例

http://192.168.199.115:9200/m8/_analyze?analyzer=ik_max_word&text=南京市长江大桥

结果

参数说明:

ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合;

ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”。

mvn 不存在看下面 解决:

1.安装java的jdk

官网下载地址http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载rpm包:

wget  http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.rpm?AuthParam=1479708556_19e817839b0ee72d40569ae8a23689d0

安装:

rpm  -ivh jdk-8u111-linux-x64.rpm

设置环境变量:

vim  /etc/profile

在最后添加

JAVA_HOME=/usr/java/jdk1.8.0_111
JRE_HOME=/usr/java/jdk1.8.0_111/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

立即生效:

source /etc/profile

验证:

 java -version

安装 maven 就是 mvn 命令 他需要java 才能运行

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
yum -y install apache-maven

http put不存在问题:

yum install httpie

转载请注明来源 http://www.cnblogs.com/phpshen/p/6085274.html

				
时间: 2024-10-10 07:50:57

ElasticSearch中文分词(IK)的相关文章

Elasticsearch 中文分词(elasticsearch-analysis-ik) 安装

由于elasticsearch基于lucene,所以天然地就多了许多lucene上的中文分词的支持,比如 IK, Paoding, MMSEG4J等lucene中文分词原理上都能在elasticsearch上使用.当然前提是有elasticsearch的插件. 至于插件怎么开发,这里有一片文章介绍:http://log.medcl.net/item/2011/07/diving-into-elasticsearch-3-custom-analysis-plugin/暂时还没时间看,留在以后仔细研

elasticsearch中文分词(mmseg)——手动添加词典

elasticsearch本身的中文分词插件效果都不理想,手动添加词典可以在一定程度上进行弥补. 经过多次实验发现,mmseg的分词机制采用正向最长匹配算法,例如,针对"小时代"这个单词,其自带的词典中没有包含该词,故当用户搜索小时代时,检索不到任何结果. 在咸鱼老婆的虚心指导下,我终于找到了解决办法. 手动添加该词到mmseg的词库中,有两种方法: 1.将该词加入到自带的某个词典中(非停顿词词典),如words-my.dic. 2.新建一个自定义词典,将其放入默认词库文件夹下,注意编

ElasticSearch中文分词器-IK分词器的使用

IK分词器的使用 首先我们通过Postman发送GET请求查询分词效果 GET http://localhost:9200/_analyze { "text":"农业银行" } 得到如下结果,可以发现es的默认分词器无法识别中文中农业.银行这样的词汇,而是简单的将每个字拆完分为一个词,这显然不符合我们的使用要求. { "tokens": [ { "token": "农", "start_offse

Windows ElasticSearch中文分词配置

elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmseg的,下面分别介绍ik的用法, 当我们创建一个index(库db_news)时,easticsearch默认提供的分词器db_news,分词结果会把每个汉字分开,而不是我们想要的根据关键词来分词.例如: 代码如下: 正常情况下,这不是我们想要的结果,比如我们更希望 “我”,“爱”,“北京”,"天安门"这样

elasticsearch中文分词+全文搜索

安装ik中文分词器 我在百度上搜索了下,大多介绍的都是用maven打包下载下来的源码,这种方法也行,但是不够方便,为什么这么说? 首先需要安装maven吧?其次需要下载源码吧?最后需要打包吧? 我直接下载打包好的多方便? 下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases 最上面elasticsearch-analysis-ik-5.5.1.zip就是打包好的,直接下载下来用就行了 下面两个都是源码包,需要用maven

elasticsearch 中文分词(elasticsearch-analysis-ik)安装

下载最新的发布版本 https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-6.3.0.zip 在elasticsearch的plugins目录下,创建ik目录 cd /usr/local/elasticsearch-6.3.0/plugins mkdir ik 将解压的内容,放入其中 重新启动elasticsearch服务 elasticsearc

Elasticsearch中文分词

分词api: 指定分词器进行分词 POST /_analyze { "analyzer": "standard", "text": "hello world" } 指定索引分词 POST /fan/_analyze { "analyzer": "standard", "field": "hobby", "text": "

Elasticsearch 中文分词插件 jcseg 安装 (Ubuntu 14.04 下)

搜索可以说是开发中很常见的场景了,同样这次也一样... 之前的组合多数是选择 Mysql + Sphinx ,这次因为工作原因不再使用这种组合,虽然是老牌组合,但是确实限制诸多,而且每次配环境也是个问题,挺烦的...这次就尝试使用 Elasticsearch + Jcseg ,因为在文档检索方面 elasticsearch 做的相当不错,但是对中文环境来说就差一个很好的中文分词器,还好,国内好的中文分词器也有蛮多,但是我个人还是比较推荐 Jcseg . 好了,废话不多扯. 版本说明: elast

第二步solr配置中文分词IK Analyzer

1.下载IK Analyzer 2012FF_hf1.zip解压如下图:注解(IK Analyzer 2012才能支持solr4.0以上的版本) 下载地址:http://pan.baidu.com/s/1c0nMOhE 2.添加IK Analyzer 2012 FF 中文分词:把IKAnalyzer2012_FF文件夹IKAnalyzer2012_FF.jar放在tomcat1.6,webapps\solr\WEB-INF\lib的目录下,修改E:\solr\collection1\conf\s