elasticsearch 5.2.1
elasticsearch-analysis-dynamic-synonym 5.1.1 看来要改改了,根据错误信息改了一下,不错可以使用
elasticsearch-analysis-dynamic-synonym 5.2.1
风.fox
https://github.com/bells/elasticsearch-analysis-dynamic-synonym
最新版,作者还未提供jar包,那么就要自己编译
最新版还是5.1.1版本,这里自己就要修改成5.2.1版本
unzip elasticsearch-analysis-dynamic-synonym-master.zip
cd elasticsearch-analysis-dynamic-synonym-master
自己编译后的文件下载地址:
http://download.csdn.net/detail/wljk506/9763705
当前文件为5.1.1版本,要修改为5.2.1版本,修改2个文件
第一个文件
vim /home/hadoop/elasticsearch-analysis-dynamic-synonym-master/src/main/java/com/bellszhu/elasticsearch/plugin/DynamicSynonymPlugin.java
第40行 @Override
删除即可
第二个文件
vim /home/hadoop/elasticsearch-analysis-dynamic-synonym-master/pom.xml
把本文件里面所有版本号5.1.1
修改为5.2.1
重新执行编译后的文件就是5.2.1版本的
根据如下安装 maven环境,并且使用阿里云国内镜像
http://blog.csdn.net/fenglailea/article/details/53304479
cd elasticsearch-analysis-dynamic-synonym-master
mvn package
编译成功后文件位置:elasticsearch-analysis-dynamic-synonym-master/target/releases/elasticsearch-analysis-dynamic-synonym-5.2.1.zip
解压缩
cd elasticsearch-analysis-dynamic-synonym-master/target/releases/
#解压缩
unzip elasticsearch-analysis-dynamic-synonym-5.2.1.zip -d dynamic-synonym
复制移动到插件目录
mv dynamic-synonym ~/elasticsearch-5.2.1/plugins/
重新启动 elasticsearch
位置:
vim ~/elasticsearch-5.2.1/config/synonyms.txt
synonyms.txt 文件中有
美伊,美国和伊拉克
中韩,中国和韩国
中美,中国和美国
注意:词库内的词,必须在分词词库中存在
如果已存在索引则删除,没有则不执行
curl -XDELETE 'http://10.1.5.101:9200/testsynonyms'
curl -XPUT "http://10.1.5.101:9200/testsynonyms" -d '{
"settings" : {
"index": {
"analysis": {
"analyzer": {
"synonym": {
"tokenizer": "whitespace",
"filter": ["synonym"]
}
},
"filter": {
"synonym": {
"type": "synonym",
"synonyms_path": "synonyms.txt",
"ignore_case": true
}
}
}
}
},
"mappings" : {
"_default_":{
"_all": { "enabled": false } // 关闭_all字段,因为我们只搜索title字段
},
"jdbc" : {
"dynamic" : true,// 是否启用“动态修改索引”
"properties" : {
"title" : {
"type" : "string",
"analyzer" : "synonym"
}
}
}
}
}'
http://10.1.5.101:9200/testsynonyms/_analyze?pretty&analyzer=synonym&text=中美
输出
{
"tokens": [
{
"token": "中美",
"start_offset": 0,
"end_offset": 2,
"type": "word",
"position": 0
},
{
"token": "中国和美国",
"start_offset": 0,
"end_offset": 2,
"type": "SYNONYM",
"position": 0
}
]
}
curl -XPOST http://localhost:9200/testsynonyms/jdbc/1 -d'
{"title":"美伊的是个烂摊子吗"}
'
curl -XPOST http://localhost:9200/testsynonyms/jdbc/2 -d'
{"title":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}
'
curl -XPOST http://localhost:9200/testsynonyms/jdbc/3 -d'
{"title":"中美领事馆"}
'
curl -XPOST http://localhost:9200/testsynonyms/jdbc/4 -d'
{"title":"美国和伊拉克就是个烂摊子"}
'
curl -XPOST http://localhost:9200/testsynonyms/jdbc/5 -d'
{"title":"中国和美国美领事馆"}
'