elasticsearch英文查询
在我们使用es的时候,简单的查询大家肯定都会了。利用springboot就可以实现基本的增删改查了。但是今天我们项目中就遇到了问题。
百度查询效果演示:
大家在搜索的时候,看到了吗?只要输入前面的字,百度就可以关联出关键字出来。有时候我们输入拼音:meinv,都可以查询出来。那我们想要实现这样的效果怎么做?
环境安装
elasticsearch安装 很简单这里就不显示了,主要是依赖的中文分词器和拼音分词器。
什么是分词器?
分词器简单来说,就是把我们想要查询的语句,分割为不同的短句,然后保存,建立索引。当我们查询的时候,就可以把这些短句拼接起来成为关键字查询结果。
拼音分词器安装
不需要其他配置,启动elasticsearch成功即表示分词器安装成功。 安装插件很简单,只需要复制重启就好了。哈哈
代码实现
如果springboot集成后怎么使用呢?其实很简单,只需要在我们之前的代码上添加注释即可。
@Field(type = FieldType.text, searchAnalyzer="pinyin",analyzer="pinyin")
这里有个注意的地方。就是大家如果使用FieldType.keyword的时候,拼音分词会失效。keyword会让es不进行该字段的分词,然后拼音也就无法分词使用了。比如:刘德华,ldh
测试一下效果,果然,输入ldh就可以查询出来刘德华有关的所有信息。今天就实现了拼音搜索的功能了。
以上内容皆为本人观点,欢迎大家提出批评和指导,我们一起探讨!