一、简介
有时候我们需要在项目中支持中文 和 拼音的搜索。采用ik分词来做中文分词是目前比好的方式。至于拼音分词可以采用lc-pinyin,虽然lc-pinyin能很好的解决首字母和全拼的搜索,但是在中文分词上却是不支持的,lc-pinyin只能把中文拆成单字来处理。要是能把IK分词和lc-pinyin分词结合那该多好,不是么?本文主要介绍如何把ik和lc-pinyin结合起来使用,使我们的搜索既支持中文搜索,又支持拼音搜索。
环境:elasticsearch1.4.5, elasticsearch-analysis-lc-pinyin1.4.5,elasticsearch-analysis-ik1.3.0
二、配置lc-pinyin和ik分词器
1. 首先需要安装lc-pinyin和ik分词,这里就不再讲如何安装,不会的童鞋参考:http://blog.csdn.net/chennanymy/article/details/52336368
2. 安装好lc-pinyin和ik分词插件后就可以配置分词器额,打开 config/elasticsearch.yml文件,在末尾加上下面的配置
index:
analysis:
analyzer:
ik_max_word:
type: ik
use_smart: false
ik_smart:
type: ik
use_smart: true
ik_syno:
tokenizer: ik
filter: [ik_synonym_filter]
ik_syno_smart:
tokenizer: ik_tk_smart
filter: [ik_synonym_filter]
lc: