elasticsearch2.3.1集成ansj中文分词
来源:互联网 发布:网络自制访谈节目 编辑:程序博客网 时间:2024/06/16 17:21
1、进入
http://maven.nlpcn.org/org/ansj/elasticsearch-analysis-ansj/2.3.1/elasticsearch-analysis-ansj-2.3.1-release.zip直接下 载zip包解压到plugin目录下。
2、将解压后的analysis-ansj拷贝到$ES_HOME/plugins目录下
3、 将解压后的dic文件夹拷贝到$ES_HOME/config/ansj目录下 (先在config下创建ansj目录)
4、 配置分词插件,将下面配置(1)或(2)粘贴到,es下config/elasticsearch.yml 文件末尾。
5、重启集群后,查看log输出。如果出现类似于“ansj分词器预热完毕,可以使用!”等等的字样说明加载成功,可以使用了。
配置(1)为简洁配置,一些高级属性均采用默认,要求不高的话可采用下边配置,该处配置与参考博文是一致的。
################################## ANSJ PLUG CONFIG ################################
index:
analysis:
analyzer:
index_ansj:
type: ansj_index
query_ansj:
type: ansj_query
index.analysis.analyzer.
default
.type: ansj_index
配置(2)为高级配置,加入一些高级属性,该处配置与博文不一致,去掉了一些容易引起异常的配置。
################################## ANSJ PLUG CONFIG ################################
index:
analysis:
analyzer:
index_ansj:
alias: [ansj_index_analyzer]
type: ansj_index
is_name:
false
redis:
pool:
maxactive:
20
maxidle:
10
maxwait:
100
testonborrow:
true
ip: master.redis.yao.com:
6379
channel: ansj_term
query_ansj:
alias: [ansj_query_analyzer]
type: ansj_query
is_name:
false
redis:
pool:
maxactive:
20
maxidle:
10
maxwait:
100
testonborrow:
true
ip: master.redis.yao.com:
6379
channel: ansj_term
二、测试
首先开始es集群,并将分词插件至少装在了要测试的集群节点中。如果集群中的每个节点均要分词,则要把分词插件分别复制相应文件到各节点中,重启节点即可。
测试可以用两种方式,
(1) Linux下,人们喜欢用“curl -XGET http://host:9200/[index]/_analyze?analyzer=ansj_index&text=测试用例”来测试。正常的话,会返回相应的json结果。注意其中的参数要正确,包括host、indexName、analyzer等。此处有一个es的不合理之处,要求至少要有一个indexName才可以进行这样的分词测试,这显然是不合理的。但只能如此接受了。
(2)window下,直接用浏览器中输入“http://host_ip:9200/[index_name]/_analyze?analyzer=ansj_index&text=测试用例”即可,亦会返回相应的分词结果的json格式串。
PS : 注意其中的analyzer=ansj_index部分,ansj分词作者在此处分为ansj_index和ansj_analyzer两种分词器,后者是前者的一个子集。前者分出来的term会包含后者,主要是为了提高召回率而做,后者会是一个用户输入的query的ansj分词的结果串。
可以通过分别使用不同的analyzer来查看不同的分词结果集合,能明显看出两者的区别,也能清楚的看到对召回率提升的原因。因此在mapping中的json配置文件中,如果有分词的字段,名为analyzer_field,应如下:
"analyzer_field"
: {
"type"
:
"string"
,
"store"
:
"yes"
,
"index_analyzer"
:
"index_ansj"
,
"search_analyzer"
:
"query_ansj"
}
- elasticsearch2.3.1集成ansj中文分词
- Ansj中文分词说明
- ANSJ中文分词使用方法
- Ansj中文分词说明
- Elasticsearch2.3.1中文分词ik插件安装
- Java中文分词器Ansj
- Ansj中文分词的使用
- ansj中文分词分词过程浅析
- 开源 Java 中文分词器 Ansj
- [023]中文分词——ansj
- Java中文分词器Ansj的使用
- Ansj中文分词Java开发小记
- SPARK+ANSJ 中文分词基本操作
- solr6使用ansj做中文分词
- elasticsearch中ANSJ中文分词处理
- Solr整合Ansj中文分词器
- 基于java的中文分词工具ANSJ
- Elasticsearch2.3.4 配置同义词和中文分词
- PHP书写效率小TIPS
- java基础(逻辑运算、异常)
- 关于Spring中的<context:annotation-config/>配置
- 使用路径通配符加载Resource,
- Block 回顾总结
- elasticsearch2.3.1集成ansj中文分词
- xml路劲通配
- 欢迎使用CSDN-markdown编辑器
- android开发-后台邮件统计异常的需求
- @Override must override a superclass method 问题解决
- 字段 bit 、tinyint(1) 使用 boolean 类型映射解决方法
- git操作
- 121. Best Time to Buy and Sell Stock
- Lintcode 二进制中有多少个1