模糊检索:
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
BoolQueryBuilder queryBuilder = new BoolQueryBuilder(); queryBuilder.should(QueryBuilders.multiMatchQuery(query.getTitle())
// .field("title", 40).field("title.synonym", 10)
// .field("translate_title", 40).field("translate_title.synonym", 10)
//// .field("authors", 4).field("authors.synonym", 1)
//// .field("nav_org", 4).field("nav_org.synonym", 1)
//// .field("nav_equip", 4).field("nav_equip.synonym", 1)
//// .field("abstract", 4).field("abstract.synonym", 1)
//// .field("translate_abstract", 4).field("translate_abstract.synonym", 1)
//// .field("translate_abstract", 4).field("translate_abstract.synonym", 1)
//// .field("keyword", 4).field("keyword.synonym", 1)
// .minimumShouldMatch(minimumShouldMatch))
// .should(QueryBuilders.termQuery("title.keyword", query.getTitle()).boost(40));
// queryBuilder.should(QueryBuilders.fuzzyQuery("title.keyword", query.getTitle()));
// queryBuilder.should(QueryBuilders.fuzzyQuery("translate_title.keyword", query.getTitle()));
queryBuilder.should(QueryBuilders.wildcardQuery("title.keyword","*"+query.getTitle()+"*"));
queryBuilder.should(QueryBuilders.wildcardQuery("translate_title.keyword","*"+query.getTitle()+"*"));
baseQueryBuilder.must(queryBuilder);
searchSourceBuilder.query(baseQueryBuilder);
WildcardQueryBuilder wildcardQueryBuilder = QueryBuilders.wildcardQuery("name","*张*");
FuzzyQueryBuilder fuzzyQueryBuilder = QueryBuilders.fuzzyQuery("name", "三");
注意:本文归作者所有,未经作者允许,不得转载