mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-11 03:46:50 +08:00
查询中添加关键词结果
This commit is contained in:
@@ -3,10 +3,7 @@ package com.xboe.module.elasticsearc;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.ZoneOffset;
|
import java.time.ZoneOffset;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -410,6 +407,7 @@ 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.wildcardQuery("keywords", "*"+words+"*").boost(8f));
|
||||||
//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));
|
||||||
|
|
||||||
@@ -426,7 +424,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
|
|||||||
//// //其它是教师,教师也是 like查询, 它只是2位权重
|
//// //其它是教师,教师也是 like查询, 它只是2位权重
|
||||||
//// boolQuery.should(QueryBuilders.queryStringQuery(params.getKeywords()).field("teacher", 5f));
|
//// 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));
|
//// //boolQuery.should(QueryBuilders.fuzzyQuery("keywords",params.getKeywords()).boost(3f));
|
||||||
//// //分词查询,权重是1,默念
|
//// //分词查询,权重是1,默念
|
||||||
@@ -437,7 +435,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
|
|||||||
// //其它是教师,教师也是 like查询, 它只是5权重
|
// //其它是教师,教师也是 like查询, 它只是5权重
|
||||||
// //keywordQuery.should(QueryBuilders.queryStringQuery(params.getKeywords()).field("teacher", 5f));
|
// //keywordQuery.should(QueryBuilders.queryStringQuery(params.getKeywords()).field("teacher", 5f));
|
||||||
// //关键词查询 like查询, 它只是3权重
|
// //关键词查询 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));
|
// //boolQuery.should(QueryBuilders.fuzzyQuery("keywords",params.getKeywords()).boost(3f));
|
||||||
// //分词查询,权重是1,
|
// //分词查询,权重是1,
|
||||||
@@ -697,7 +695,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
|
|||||||
}
|
}
|
||||||
cft.setTeacher(fmtStr.toString());
|
cft.setTeacher(fmtStr.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(keywords!= null){
|
if(keywords!= null){
|
||||||
Text[] fragments = keywords.fragments();
|
Text[] fragments = keywords.fragments();
|
||||||
StringBuffer fmtStr = new StringBuffer("");
|
StringBuffer fmtStr = new StringBuffer("");
|
||||||
|
|||||||
Reference in New Issue
Block a user