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:
parent
f707132743
commit
452a7726bc
@ -36,15 +36,16 @@ import java.util.List;
|
|||||||
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository{
|
public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository {
|
||||||
private ElasticsearchTemplate elasticsearchTemplate;
|
private ElasticsearchTemplate elasticsearchTemplate;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public void setElasticsearchTemplate(ElasticsearchTemplate elasticsearchTemplate) {
|
public void setElasticsearchTemplate(ElasticsearchTemplate elasticsearchTemplate) {
|
||||||
this.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;
|
Page<KbsTopic> pages = null;
|
||||||
|
|
||||||
@ -63,17 +64,16 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository{
|
|||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@Override
|
||||||
@Override
|
public Page<KbsTopic> getTopicByTop(boolean top, final int p, final int ps) {
|
||||||
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 boolQueryBuilder = QueryBuilders.boolQuery();
|
||||||
boolQueryBuilder.must(termQuery("top", top));
|
boolQueryBuilder.must(termQuery("top", top));
|
||||||
|
|
||||||
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").from(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.missingQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").to(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));
|
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;
|
return pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<KbsTopic> getTopicByCateAndUser(String cate , String q , String user ,final int p , final int ps) {
|
public Page<KbsTopic> getTopicByCateAndUser(String cate, String q, String user, final int p, final int ps) {
|
||||||
|
|
||||||
Page<KbsTopic> pages = null;
|
Page<KbsTopic> pages = null;
|
||||||
|
|
||||||
@ -105,14 +105,13 @@ public class KbsTopicRepositoryImpl implements KbsTopicEsCommonRepository{
|
|||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@Override
|
||||||
@Override
|
public Page<KbsTopic> getTopicByCon(BoolQueryBuilder boolQueryBuilder, final int p, final int ps) {
|
||||||
public Page<KbsTopic> getTopicByCon(BoolQueryBuilder boolQueryBuilder, final int p , final int ps) {
|
|
||||||
|
|
||||||
Page<KbsTopic> pages = null;
|
Page<KbsTopic> pages = null;
|
||||||
|
|
||||||
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").from(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.missingQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").to(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));
|
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;
|
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();
|
List<KbsTopic> list = null;
|
||||||
boolQueryBuilder.must(termQuery("orgi" , orgi)) ;
|
|
||||||
|
|
||||||
if(!StringUtils.isBlank(type)){
|
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
|
||||||
boolQueryBuilder.must(termQuery("cate" , type)) ;
|
boolQueryBuilder.must(termQuery("orgi", orgi));
|
||||||
}
|
|
||||||
|
|
||||||
if (!StringUtils.isBlank(q)) {
|
if (!StringUtils.isBlank(type)) {
|
||||||
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
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));
|
if (!StringUtils.isBlank(q)) {
|
||||||
SearchQuery searchQuery = searchQueryBuilder.build();
|
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
||||||
if (elasticsearchTemplate.indexExists(KbsTopic.class)) {
|
}
|
||||||
list = elasticsearchTemplate.queryForList(searchQuery, KbsTopic.class);
|
|
||||||
}
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withSort(new FieldSortBuilder("top").unmappedType("boolean").order(SortOrder.DESC)).withSort(new FieldSortBuilder("updatetime").unmappedType("date").order(SortOrder.DESC));
|
||||||
return list;
|
SearchQuery searchQuery = searchQueryBuilder.build();
|
||||||
}
|
if (elasticsearchTemplate.indexExists(KbsTopic.class)) {
|
||||||
|
list = elasticsearchTemplate.queryForList(searchQuery, KbsTopic.class);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -138,14 +138,13 @@ public class QuickReplyRepositoryImpl implements QuickReplyEsCommonRepository{
|
|||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
@Override
|
@Override
|
||||||
public Page<QuickReply> getByCon(BoolQueryBuilder boolQueryBuilder, final int p , final int ps) {
|
public Page<QuickReply> getByCon(BoolQueryBuilder boolQueryBuilder, final int p , final int ps) {
|
||||||
|
|
||||||
Page<QuickReply> pages = null;
|
Page<QuickReply> pages = null;
|
||||||
|
|
||||||
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").from(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.missingQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").to(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));
|
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).withFilter(QueryBuilders.boolQuery().must(beginFilter).must(endFilter)).withSort(new FieldSortBuilder("createtime").unmappedType("date").order(SortOrder.DESC));
|
||||||
|
|
||||||
|
@ -37,22 +37,23 @@ import java.util.List;
|
|||||||
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class TopicRepositoryImpl implements TopicEsCommonRepository{
|
public class TopicRepositoryImpl implements TopicEsCommonRepository {
|
||||||
private ElasticsearchTemplate elasticsearchTemplate;
|
private ElasticsearchTemplate elasticsearchTemplate;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public void setElasticsearchTemplate(ElasticsearchTemplate elasticsearchTemplate) {
|
public void setElasticsearchTemplate(ElasticsearchTemplate elasticsearchTemplate) {
|
||||||
this.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();
|
Page<Topic> pages = null;
|
||||||
if(!StringUtils.isBlank(cate)) {
|
|
||||||
boolQueryBuilder.must(termQuery("cate" , cate)) ;
|
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
|
||||||
}
|
if (!StringUtils.isBlank(cate)) {
|
||||||
|
boolQueryBuilder.must(termQuery("cate", cate));
|
||||||
|
}
|
||||||
boolQueryBuilder.must(termQuery("orgi", orgi));
|
boolQueryBuilder.must(termQuery("orgi", orgi));
|
||||||
if (!StringUtils.isBlank(q)) {
|
if (!StringUtils.isBlank(q)) {
|
||||||
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
||||||
@ -66,21 +67,20 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository{
|
|||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@Override
|
||||||
@Override
|
public Page<Topic> getTopicByTopAndOrgi(boolean top, String orgi, String aiid, final int p, final int ps) {
|
||||||
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 boolQueryBuilder = QueryBuilders.boolQuery();
|
||||||
boolQueryBuilder.must(termQuery("top" , top)) ;
|
boolQueryBuilder.must(termQuery("top", top));
|
||||||
boolQueryBuilder.must(termQuery("orgi" , orgi)) ;
|
boolQueryBuilder.must(termQuery("orgi", orgi));
|
||||||
if(!StringUtils.isBlank(aiid)) {
|
if (!StringUtils.isBlank(aiid)) {
|
||||||
boolQueryBuilder.must(termQuery("aiid" , aiid)) ;
|
boolQueryBuilder.must(termQuery("aiid", aiid));
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").to(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.missingQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").from(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));
|
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
|
@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 boolQueryBuilder = QueryBuilders.boolQuery();
|
||||||
boolQueryBuilder.must(termQuery("cate" , cate)) ;
|
boolQueryBuilder.must(termQuery("cate", cate));
|
||||||
|
|
||||||
if (!StringUtils.isBlank(q)) {
|
if (!StringUtils.isBlank(q)) {
|
||||||
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
||||||
@ -113,14 +113,13 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository{
|
|||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@Override
|
||||||
@Override
|
public Page<Topic> getTopicByCon(BoolQueryBuilder boolQueryBuilder, final int p, final int ps) {
|
||||||
public Page<Topic> getTopicByCon(BoolQueryBuilder boolQueryBuilder, final int p , final int ps) {
|
|
||||||
|
|
||||||
Page<Topic> pages = null;
|
Page<Topic> pages = null;
|
||||||
|
|
||||||
QueryBuilder beginFilter = QueryBuilders.boolQuery().should(QueryBuilders.missingQuery("begintime")).should(QueryBuilders.rangeQuery("begintime").to(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.missingQuery("endtime")).should(QueryBuilders.rangeQuery("endtime").from(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));
|
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));
|
SearchQuery searchQuery = searchQueryBuilder.build().setPageable(PageRequest.of(p, ps));
|
||||||
@ -129,17 +128,18 @@ public class TopicRepositoryImpl implements TopicEsCommonRepository{
|
|||||||
}
|
}
|
||||||
return pages;
|
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 boolQueryBuilder = QueryBuilders.boolQuery();
|
||||||
boolQueryBuilder.must(termQuery("orgi" , orgi)) ;
|
boolQueryBuilder.must(termQuery("orgi", orgi));
|
||||||
|
|
||||||
if(!StringUtils.isBlank(type)){
|
if (!StringUtils.isBlank(type)) {
|
||||||
boolQueryBuilder.must(termQuery("cate" , type)) ;
|
boolQueryBuilder.must(termQuery("cate", type));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!StringUtils.isBlank(q)) {
|
if (!StringUtils.isBlank(q)) {
|
||||||
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
boolQueryBuilder.must(new QueryStringQueryBuilder(q).defaultOperator(Operator.AND));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user