ES模糊查询不好使,QueryBuilder的fuzzyQuery不好使

搭建好ES后,测试查询时,使用通配符查询可以实现模糊查询

WildcardQueryBuilder wildcardQueryBuilder = QueryBuilders.wildcardQuery("name","*张*");

但是使用其模糊查询api却没有效果:

FuzzyQueryBuilder fuzzyQueryBuilder = QueryBuilders.fuzzyQuery("name", "三");

后来无意发现,创建的索引文档中name字段没有加分词器
ES模糊查询不好使,QueryBuilder的fuzzyQuery不好使_第1张图片
然后加上后再去模糊查询就好使了
ES模糊查询不好使,QueryBuilder的fuzzyQuery不好使_第2张图片

FuzzyQueryBuilder fuzzyQueryBuilder = QueryBuilders.fuzzyQuery("name", "三");

ES模糊查询不好使,QueryBuilder的fuzzyQuery不好使_第3张图片

你可能感兴趣的:(java,ES,ELK)