From 193c56c0187d18b16e1d6e367c38b1e7189133d9 Mon Sep 17 00:00:00 2001 From: daihh Date: Fri, 30 Dec 2022 15:44:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/elasticsearc/CourseElasticsearchImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 47ae4aec..6970c402 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 @@ -373,6 +373,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ if(StringUtils.isNotBlank(params.getKeywords())) { + String words=QueryParser.escape(params.getKeywords()); // System.out.println(params.getKeywords()); @@ -380,9 +381,10 @@ 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.queryStringQuery(words).field("name", 9f));//用此方法无法查询出有转义符的处理 //keywordQuery.should(QueryBuilders.queryStringQuery(words).field("teacher", 8f)); - keywordQuery.should(QueryBuilders.wildcardQuery("teacher", "*"+words+"*").boost(7f)); + keywordQuery.minimumShouldMatch(1); boolQuery.must(keywordQuery); //boolQuery.must(QueryBuilders.wildcardQuery("name", "*"+params.getKeywords()+"*").boost(9f));