elasticsearch同义词及动态更新
第一种:
参考地址:http://dev.paperlesspost.com/setting-up-elasticsearch-synonyms/27
1、Add a synonyms file.
2、Create the index with setting and mappings to support synonyms.
Creating a synonyms file
config/ynonyms.txt
# synonyms.txt
sea cow => manatee
cat, feline, lolcat
Setting up index settings and mappings
POST http://localhost:9200/my_index/
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"synonym": {
"tokenizer": "whitespace",
"filter": ["synonym"]
}
},
"filter": {
"synonym": {
"type": "synonym",
"synonyms_path": "synonyms.txt",
"ignore_case": true
}
}
}
}
},
"mappings": {
"animal": {
"properties": {
"name": {
"type": "String",
"analyzer": "synonym"
},
"type": {
"type": "String",
"analyzer": "synonym"
}
}
}
}
}
Bonus: Refreshing synonyms file
curl -XPOST 'localhost:9200/my_index/_close'
curl -XPUT 'localhost:9200/my_index/_settings' -d '
{
"index" : {
"analysis.filter.synonym.synonyms_path" : "synonyms.txt"
}
}'
curl -XPOST 'localhost:9200/my_index/_open'
第二种(支持动态更新):
elasticsearch.yml最后添加以下内容:
index.analysis.analyzer.default.type: ik #默认分词用ik
index:
analysis:
filter:
local_synonym:
type: dynamic_synonym
synonyms_path: dynamic-synonym/synonym.txt
interval:
remote_synonym:
type: dynamic_synonym
synonyms_path: http://127.0.0.1:8082/remote_ext_synonym.txt
interval:
includeIndexs: [test,music,uzai]
excludeIndexs: [authors]
blankSynonymWord: --b,--b
analyzer:
ik:
alias: [ik_analyzer]
type: ik
#type: org.elasticsearch.index.analysis.IkAnalyzerProvider
ik_max_word:
type: ik
use_smart: false
ik_smart:
type: ik
use_smart: true
ik_syno:
type: custom
tokenizer: ik
filter: [local_synonym,remote_synonym]
ik_syno_smart:
type: custom
tokenizer: ik
filter: [local_synonym,remote_synonym]
use_smart: true
standard_syno:
type: custom
filter: [local_synonym,remote_synonym]
tokenizer: standard
下载插件(支持动态更新):
https://github.com/bells/elasticsearch-analysis-dynamic-synonym
1、mvn package
2、copy and unzip target/releases/elasticsearch-analysis-dynamic-synonym-{version}.zip to your-es-root/plugins/dynamic-synonym
注意
1、我用的是elasticsearch-2.4.1,插件版本要对应上
2、dynamic-synonym和ik中的某些jar重复,这样会报错,解决方式:删除重复的jar
参考:
http://www.cnblogs.com/yjf512/p/4789239.html
http://blog.csdn.net/tianzhaixing2013/article/details/51506496
http://blog.csdn.net/yusewuhen/article/details/50685685
http://11670039.blog.51cto.com/11660039/1825728
elasticsearch同义词及动态更新的更多相关文章
- 【Spark】SparkStreaming-流处理-规则动态更新-解决方案
SparkStreaming-流处理-规则动态更新-解决方案 image2017-10-27_11-10-53.png (1067×738) elasticsearch-head Elasticsea ...
- JSPatch – 动态更新iOS APP
原文:http://blog.cnbang.net/works/2767/ JSPatch是最近业余做的项目,只需在项目中引入极小的引擎,就可以使用JavaScript调用任何Objective-C的 ...
- JAVA代码热部署,在线不停服动态更新
本地debug的时候,可以实时编译并更新代码,线上也可以不停服来动态更新类,即所说的java热部署. JDK代理的两种方式: 1.premain方式是Java SE5开始就提供的代理方式,但其必须 ...
- 在Android中实现service动态更新UI界面
之前曾介绍过Android的UI设计与后台线程交互,据Android API的介绍,service一般是在后台运行的,没有界面的.那么如何实现service动态更新UI界面呢?案例:通过service ...
- Android中动态更新ListView(转)
在使用ListView时,会遇到当ListView列表滑动到最底端时,添加新的列表项的问题,本文通过代码演示如何动态的添加新的列表项到ListView中.实现步骤:调用ListView的setOnSc ...
- Js多国时间动态更新
Js多国时间动态更新 点击下载
- Fragment碎片的创建和动态更新
Fragment,在平板应用中较为参见,把视图分为两个甚至多个模块. 一,一个简单的fragment 1.创建两个局部文件,用于等待被调用 (1)left_fragment (2)right_frag ...
- django 动态更新属性值
django 动态更新属性值 class TestTime(models.Model): """ 功能说明:指定测试的每一关总用时 """ ...
- iOS 利用 Framework 进行动态更新
http://nixwang.com/2015/11/09/ios-dynamic-update/ 前言 目前 iOS 上的动态更新方案主要有以下 4 种: HTML 5 lua(wax)hotpat ...
随机推荐
- 集群工具ansible使用方法
ansible简介 ansible是与puppet.saltstack类似的集群管理工具,其优点是仅需要ssh和Python即可使用,而不像puppet.saltstack那样都需要客户端.与pupp ...
- JSP的基本语法:
JSP文件有5类元素:注释,模版,脚本,指令,行为 下面我就和大家分别唠唠,这5个玩意到底是啥玩意! 一.注释(我feel有三种): html注释:<!--……--> 显式注释,即客户端 ...
- Lua学习---Lua的控制结构
前言 由于之前有c/c++.javascript基础,所以学Lua的时候喜欢拿来和前面的语言比较,这里主要和C比较 1.if...else Lua的if语句格式: if 条件 then 条件成立,运行 ...
- Async Programming - 1 async-await 糖的本质(2)
上一篇讲了这么多,其实说的就是一个事,return会被编译器重写成SetResult,所以如果我们的异步函数返回的是一个Task<int>,代码就要改成这样: using System; ...
- 洛谷 P3366 【模板】最小生成树 prim算法思路 我自己的实现
网上有很多prim算法 用邻接矩阵 加什么lowcost数组 我觉得不靠谱 毕竟邻接矩阵本身就不是存图的好方法 所以自己写了一个邻接表(边信息表)版本的 注意我还是用了优先队列 每次新加入一个点 ...
- java删除文件
public boolean deleteFile(String fileName) { File file = new File("D:/NovaPluto/xml/"+file ...
- 规则引擎集成接口(四)SQL执行语句
SQL执行语句 右键点击数据库连接文件“hr”—“添加SQL执行语句”,如下图: 弹出窗体,如下图: 将显示名称改为“部门名称”,返回至类型设置为“string”,在编写sql语句,如下图: 点击确定 ...
- 2、SIP
1.初学者笔记:http://www.cnblogs.com/gnuhpc/archive/2012/01/16/2323637.html 2.SIP头字段解释:http://www.cnblogs. ...
- .vimrc vim 配置大全
map <F9> :call SaveInputData()<CR>func! SaveInputData() exec "tabnew" exec 'no ...
- 1 《JavaScript高级程序设计》学习笔记(1)
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 首先,我将从<JavaScript高级程序设计>这本JavaScript学习者必看的经典教 ...