1.01^365=31.78 (Lucene、ES、ELK开发交流群: 370734940)

Engineers are versatile minds who create links between science, technology, and society.

Elasticsearch Java API(十二)--搜索时指定分析器

一、问题

今天群里一个同学提了一个问题,如何在搜索时指定分析器,实现自由切换。

二、分析

我们知道,分析器是写在mapping里面的,通过配置analyzer来指定的。如果没有额外的配置,analyzer中指定的分析器,既是索引期的分析器,又是搜索期的分析器。单独指定搜索期的分析器可以用search_analyzer覆盖。

三、解决

在搜索时指定分析器,只需要在构造Query的时候,增加一个analyzer配置。
普通的MatchQuery:

QueryBuilder matchQuery = QueryBuilders.matchQuery("title","足球")

指定搜索时分析器的MatchQuery:

QueryBuilder matchQuery = QueryBuilders
                .matchQuery("title","足球")
                .analyzer("ik_smart");
阅读更多

扫码向博主提问

去开通我的Chat快问

napoay

博客专家

熟悉Lucene、ES、ELK
版权声明:本文为博主原创文章,未经博主允许禁止转载(http://blog.csdn.net/napoay) https://blog.csdn.net/napoay/article/details/80170863
个人分类: Elasticsearch
所属专栏: Elasticsearch专栏
上一篇SHELL编程(三) sed和awk的用法
下一篇Elasticsearch Java API(十三)--Java API获取分词结果
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭