ElasticSearch查询时termQuery匹配失败
问题:ElasticSearch查询时termQuery查询中文匹配失败
NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder();
queryBuilder.withQuery(QueryBuilders.termQuery("loglvl", "ERROR"));
解决方法:使用xxx.keyword
NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder();
queryBuilder.withQuery(QueryBuilders.termQuery("loglvl.keyword", "ERROR"));
或者使用matchQuery
NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder();
queryBuilder.withQuery(QueryBuilders.matchQuery("loglvl", "ERROR"));
ElasticSearch的matchQuery
与termQuery
区别:
matchQuery
:会将搜索词分词,再与目标查询字段进行匹配,若分词中的任意一个词与目标字段匹配上,则可查询到termQuery
:不会对搜索词进行分词处理,而是作为一个整体与目标字段进行匹配,若完全匹配,则可查询到
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/19/termquery-matching-failed-during-elasticsearch-query/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
打赏
海报
ElasticSearch查询时termQuery匹配失败
问题:ElasticSearch查询时termQuery查询中文匹配失败
NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder();
queryBuilder.withQuery(Qu……
文章目录
关闭
共有 0 条评论