diff --git a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java index 133fb349..b5219416 100644 --- a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java +++ b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java @@ -3,10 +3,7 @@ package com.xboe.module.elasticsearc; import java.io.IOException; import java.time.LocalDateTime; import java.time.ZoneOffset; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.TimeUnit; import javax.annotation.Resource; @@ -410,6 +407,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ BoolQueryBuilder keywordQuery = QueryBuilders.boolQuery(); keywordQuery.should(QueryBuilders.wildcardQuery("name", "*"+words+"*").boost(9f)); keywordQuery.should(QueryBuilders.wildcardQuery("teacher", "*"+words+"*").boost(7f)); + keywordQuery.should(QueryBuilders.wildcardQuery("keywords", "*"+words+"*").boost(8f)); //keywordQuery.should(QueryBuilders.queryStringQuery(words).field("name", 9f));//用此方法无法查询出有转义符的处理 //keywordQuery.should(QueryBuilders.queryStringQuery(words).field("teacher", 8f)); @@ -426,7 +424,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ //// //其它是教师,教师也是 like查询, 它只是2位权重 //// boolQuery.should(QueryBuilders.queryStringQuery(params.getKeywords()).field("teacher", 5f)); //// //关键词查询 -//// boolQuery.should(QueryBuilders.queryStringQuery(params.getKeywords()).field("keywords", 3f)); +// boolQuery.should(QueryBuilders.queryStringQuery(params.getKeywords()).field("keywords", 10f)); //// //// //boolQuery.should(QueryBuilders.fuzzyQuery("keywords",params.getKeywords()).boost(3f)); //// //分词查询,权重是1,默念 @@ -437,7 +435,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ // //其它是教师,教师也是 like查询, 它只是5权重 // //keywordQuery.should(QueryBuilders.queryStringQuery(params.getKeywords()).field("teacher", 5f)); // //关键词查询 like查询, 它只是3权重 -// //keywordQuery.should(QueryBuilders.queryStringQuery(params.getKeywords()).field("keywords", 3f)); +// keywordQuery.should(QueryBuilders.queryStringQuery(params.getKeywords()).field("keywords", 3f)); // // //boolQuery.should(QueryBuilders.fuzzyQuery("keywords",params.getKeywords()).boost(3f)); // //分词查询,权重是1, @@ -697,7 +695,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ } cft.setTeacher(fmtStr.toString()); } - + if(keywords!= null){ Text[] fragments = keywords.fragments(); StringBuffer fmtStr = new StringBuffer("");