关键字查询

This commit is contained in:
670788339
2023-07-27 16:18:01 +08:00
parent 4a293d429e
commit 4121adf898

View File

@@ -5,6 +5,7 @@ import java.time.LocalDateTime;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -30,10 +31,7 @@ import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.*;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.query.RangeQueryBuilder;
import org.elasticsearch.index.query.TermQueryBuilder;
import org.elasticsearch.index.reindex.BulkByScrollResponse; import org.elasticsearch.index.reindex.BulkByScrollResponse;
import org.elasticsearch.index.reindex.DeleteByQueryRequest; import org.elasticsearch.index.reindex.DeleteByQueryRequest;
import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHit;
@@ -407,7 +405,8 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
BoolQueryBuilder keywordQuery = QueryBuilders.boolQuery(); BoolQueryBuilder keywordQuery = QueryBuilders.boolQuery();
keywordQuery.should(QueryBuilders.wildcardQuery("name", "*"+words+"*").boost(9f)); keywordQuery.should(QueryBuilders.wildcardQuery("name", "*"+words+"*").boost(9f));
keywordQuery.should(QueryBuilders.wildcardQuery("teacher", "*"+words+"*").boost(7f)); keywordQuery.should(QueryBuilders.wildcardQuery("teacher", "*"+words+"*").boost(7f));
keywordQuery.should(QueryBuilders.termQuery("keywords.keyword", words).boost(9f)); keywordQuery.should(QueryBuilders.queryStringQuery("*" + words + "*").field("keywords"));
keywordQuery.should(QueryBuilders.queryStringQuery(words).field("keywords"));
//keywordQuery.should(QueryBuilders.queryStringQuery(words).field("name", 9f));//用此方法无法查询出有转义符的处理 //keywordQuery.should(QueryBuilders.queryStringQuery(words).field("name", 9f));//用此方法无法查询出有转义符的处理
//keywordQuery.should(QueryBuilders.queryStringQuery(words).field("teacher", 8f)); //keywordQuery.should(QueryBuilders.queryStringQuery(words).field("teacher", 8f));