ES基础检索

wylc123 1年前 ⋅ 193 阅读

模糊检索:

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", "三");

相关文章推荐

全部评论: 0

    我有话说: