1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-08-01 16:38:02 +08:00

Replace missingQuery() with existsQuery()

This commit is contained in:
dengchao@xgtl 2020-04-17 13:50:46 +08:00
parent f707132743
commit 452a7726bc
3 changed files with 77 additions and 78 deletions

View File

@ -36,15 +36,16 @@ import java.util.List;
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
@Component
public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository{
private ElasticsearchTemplate elasticsearchTemplate;
public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository {
private ElasticsearchTemplate elasticsearchTemplate;
@Autowired
public void setElasticsearchTemplate(ElasticsearchTemplate elasticsearchTemplate) {
@Autowired
public void setElasticsearchTemplate(ElasticsearchTemplate elasticsearchTemplate) {
this.elasticsearchTemplate = elasticsearchTemplate;
}
@Override
public Page<KbsTopic> getTopicByCate(String cate , String q, final int p , final int ps) {
@Override
public Page<KbsTopic> getTopicByCate(String cate, String q, final int p, final int ps) {
Page<KbsTopic> pages = null;
@ -63,17 +64,16 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository{
return pages;
}
@SuppressWarnings("deprecation")
@Override
public Page<KbsTopic> getTopicByTop(boolean top , final int p , final int ps) {
@Override
public Page<KbsTopic> getTopicByTop(boolean top, final int p, final int ps) {
Page<KbsTopic> pages = null ;
Page<KbsTopic> pages = null;
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.must(termQuery("top", top));
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").from(new Date().getTime()));
QueryBuilder endFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").to(new Date().getTime()));
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.existsQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").from(new Date().getTime()));
QueryBuilder endFilter = QueryBuilders.boolQuery().should(QueryBuilders.existsQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").to(new Date().getTime()));
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
@ -85,8 +85,8 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository{
return pages;
}
@Override
public Page<KbsTopic> getTopicByCateAndUser(String cate , String q , String user ,final int p , final int ps) {
@Override
public Page<KbsTopic> getTopicByCateAndUser(String cate, String q, String user, final int p, final int ps) {
Page<KbsTopic> pages = null;
@ -105,14 +105,13 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository{
return pages;
}
@SuppressWarnings("deprecation")
@Override
public Page<KbsTopic> getTopicByCon(BoolQueryBuilder boolQueryBuilder, final int p , final int ps) {
@Override
public Page<KbsTopic> getTopicByCon(BoolQueryBuilder boolQueryBuilder, final int p, final int ps) {
Page<KbsTopic> pages = null;
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").from(new Date().getTime()));
QueryBuilder endFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").to(new Date().getTime()));
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.existsQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").from(new Date().getTime()));
QueryBuilder endFilter = QueryBuilders.boolQuery().should(QueryBuilders.existsQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").to(new Date().getTime()));
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
@ -122,27 +121,28 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository{
}
return pages;
}
@Override
public List<KbsTopic> getTopicByOrgi(String orgi , String type, String q) {
List<KbsTopic> list = null ;
@Override
public List<KbsTopic> getTopicByOrgi(String orgi, String type, String q) {
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.must(termQuery("orgi" , orgi)) ;
List<KbsTopic> list = null;
if(!StringUtils.isBlank(type)){
boolQueryBuilder.must(termQuery("cate" , type)) ;
}
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.must(termQuery("orgi", orgi));
if (!StringUtils.isBlank(q)) {
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
}
if (!StringUtils.isBlank(type)) {
boolQueryBuilder.must(termQuery("cate", type));
}
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
SearchQuery searchQuery = searchQueryBuilder.build();
if (elasticsearchTemplate.indexExists(KbsTopic.class)) {
list = elasticsearchTemplate.queryForList(searchQuery, KbsTopic.class);
}
return list;
}
if (!StringUtils.isBlank(q)) {
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
}
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
SearchQuery searchQuery = searchQueryBuilder.build();
if (elasticsearchTemplate.indexExists(KbsTopic.class)) {
list = elasticsearchTemplate.queryForList(searchQuery, KbsTopic.class);
}
return list;
}
}

View File

@ -138,14 +138,13 @@ public class QuickReplyRepositoryImpl implements QuickReplyEsCommonRepository{
return pages;
}
@SuppressWarnings("deprecation")
@Override
public Page<QuickReply> getByCon(BoolQueryBuilder boolQueryBuilder, final int p , final int ps) {
Page<QuickReply> pages = null;
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").from(new Date().getTime()));
QueryBuilder endFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").to(new Date().getTime()));
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.existsQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").from(new Date().getTime()));
QueryBuilder endFilter = QueryBuilders.boolQuery().should(QueryBuilders.existsQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").to(new Date().getTime()));
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));

View File

@ -37,22 +37,23 @@ import java.util.List;
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
@Component
public class TopicRepositoryImpl implements TopicEsCommonRepository{
private ElasticsearchTemplate elasticsearchTemplate;
public class TopicRepositoryImpl implements TopicEsCommonRepository {
private ElasticsearchTemplate elasticsearchTemplate;
@Autowired
public void setElasticsearchTemplate(ElasticsearchTemplate elasticsearchTemplate) {
@Autowired
public void setElasticsearchTemplate(ElasticsearchTemplate elasticsearchTemplate) {
this.elasticsearchTemplate = elasticsearchTemplate;
}
@Override
public Page<Topic> getTopicByCateAndOrgi(String cate ,String orgi, String q, final int p , final int ps) {
Page<Topic> pages = null ;
@Override
public Page<Topic> getTopicByCateAndOrgi(String cate, String orgi, String q, final int p, final int ps) {
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
if(!StringUtils.isBlank(cate)) {
boolQueryBuilder.must(termQuery("cate" , cate)) ;
}
Page<Topic> pages = null;
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
if (!StringUtils.isBlank(cate)) {
boolQueryBuilder.must(termQuery("cate", cate));
}
boolQueryBuilder.must(termQuery("orgi", orgi));
if (!StringUtils.isBlank(q)) {
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
@ -66,21 +67,20 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository{
return pages;
}
@SuppressWarnings("deprecation")
@Override
public Page<Topic> getTopicByTopAndOrgi(boolean top ,String orgi, String aiid ,final int p , final int ps) {
@Override
public Page<Topic> getTopicByTopAndOrgi(boolean top, String orgi, String aiid, final int p, final int ps) {
Page<Topic> pages = null ;
Page<Topic> pages = null;
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.must(termQuery("top" , top)) ;
boolQueryBuilder.must(termQuery("orgi" , orgi)) ;
if(!StringUtils.isBlank(aiid)) {
boolQueryBuilder.must(termQuery("aiid" , aiid)) ;
}
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.must(termQuery("top", top));
boolQueryBuilder.must(termQuery("orgi", orgi));
if (!StringUtils.isBlank(aiid)) {
boolQueryBuilder.must(termQuery("aiid", aiid));
}
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").to(new Date().getTime())) ;
QueryBuilder endFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").from(new Date().getTime()));
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.existsQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").to(new Date().getTime()));
QueryBuilder endFilter = QueryBuilders.boolQuery().should(QueryBuilders.existsQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").from(new Date().getTime()));
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
@ -94,12 +94,12 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository{
}
@Override
public Page<Topic> getTopicByCateAndUser(String cate , String q , String user ,final int p , final int ps) {
public Page<Topic> getTopicByCateAndUser(String cate, String q, String user, final int p, final int ps) {
Page<Topic> pages = null ;
Page<Topic> pages = null;
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.must(termQuery("cate" , cate)) ;
boolQueryBuilder.must(termQuery("cate", cate));
if (!StringUtils.isBlank(q)) {
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
@ -113,14 +113,13 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository{
return pages;
}
@SuppressWarnings("deprecation")
@Override
public Page<Topic> getTopicByCon(BoolQueryBuilder boolQueryBuilder, final int p , final int ps) {
@Override
public Page<Topic> getTopicByCon(BoolQueryBuilder boolQueryBuilder, final int p, final int ps) {
Page<Topic> pages = null;
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").to(new Date().getTime()));
QueryBuilder endFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").from(new Date().getTime()));
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.existsQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").to(new Date().getTime()));
QueryBuilder endFilter = QueryBuilders.boolQuery().should(QueryBuilders.existsQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").from(new Date().getTime()));
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
@ -129,17 +128,18 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository{
}
return pages;
}
@Override
public List<Topic> getTopicByOrgi(String orgi , String type, String q) {
List<Topic> list = null ;
@Override
public List<Topic> getTopicByOrgi(String orgi, String type, String q) {
List<Topic> list = null;
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.must(termQuery("orgi" , orgi)) ;
boolQueryBuilder.must(termQuery("orgi", orgi));
if(!StringUtils.isBlank(type)){
boolQueryBuilder.must(termQuery("cate" , type)) ;
}
if (!StringUtils.isBlank(type)) {
boolQueryBuilder.must(termQuery("cate", type));
}
if (!StringUtils.isBlank(q)) {
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));