Elasticsearch使用逗号分词
Posted 阿木2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch使用逗号分词相关的知识,希望对你有一定的参考价值。
因公司使用ES发现用MYSQL存放的字段中有一个带逗号的数据匹配不出来。在网站上找了好久,发现有一位同学写了一个带逗号的分析器,果然可以匹配出。做一下笔记,以备忘记。好记性不如烂笔头
1:新建分析器
curl -XPOST \'http://172.18.0.4:9200/demo/?pretty\' -d \' { "settings": { "analysis": { "analyzer": { "douhao": { "type":"pattern", "pattern":"," } } } } }\' |
2:将分析器mapping到新的字段上(旧的字段上是无法修改mapping),当然最好的办法是使用别名,可以零停机切换
curl -XPOST \'http://172.18.0.4:9200/demo/_mapping/master?pretty\' -d \' { "properties": { "master_id": { "type":"string", "index":"not_analyzed" }, "serve_regions": { "type":"string", "analyzer":"douhao", "search_analyzer":"douhao" } } }\' |
3:同步MYSQL的数据到ES(或者手动添加两条数据)
curl -PUT \'http://172.18.0.4:9200/demo/master/?pretty\' -d \'{"master_id":"123","serve_regions":"1,2,3"}\' curl -PUT \'http://172.18.0.4:9200/demo/master/?pretty\' -d \'{"master_id":"321","serve_regions":"1"}\' curl -PUT \'http://172.18.0.4:9200/demo/master/?pretty\' -d \'{"master_id":"231","serve_regions":"2,3"}\' |
4:测试 http://172.18.0.4:9200/_plugin/head
参考文档
以上是关于Elasticsearch使用逗号分词的主要内容,如果未能解决你的问题,请参考以下文章
ElasticSearch速学 - IK中文分词器远程字典设置
ELasticsearch安装拼音插件结合IK中文分词+拼音(在线+离线)