es和mysql的区别,ES常用查询条件与Mysql对比

模拟mysql,我们需要=,\ =,\ lt;,\ lt; =,或,和,以点,计数,总和,分组依据,排序依据,限制

在更高版本的ES中,使用Boolquery代替了筛选器

1,等号=

QueryBuilders.termQuery(” isDel”,1));

//termQuery等效于=,等效于isDel = 1

2.大于或小于符号

QueryBuilders.rangeQuery(” overdueStartTime”)。 LTE(startDate.getTime())

//rangeQuery

//lte \ lt; =

//lt \ lt;

//gte \ gt; =

//gt \ gt;

3,或,和

boolQueryBuilder.must(QueryBuilders.termQuery(” isDel”,req.getIs_del()));

//必须等于

caseStatusQuery.should(QueryBuilders.termQuery(” caseStatus”,s));

//应该等于或

4,在

QueryBuilders.termsQuery(” clientCompanyId”,req.getClientCompanyIdList())

//termQuery等效于in,您可以传递列表

5,就像

QueryBuilders.wildcardQuery(” phone1″,” ” + req.getTelephone()+” “)

//通配符常规匹配

QueryBuilders.matchPhraseQuery(” debtorName”,req.getDebtor_name())

//matchPhrase不会分割单词,而是直接匹配具有完整相关短语的记录

6,总和\ \计数

AggregationBuilder bondTotalSum = AggregationBuilders.sum(DEBT_TOTAL_SUM_KEY).field(” debtTotal”);

AggregationBuilderbtrTotalCount = AggregationBuilders.count(DEBT_TOTAL_COUNT_KEY).field(” debtTotal”);

7,排序和限制

SearchResponse searchResponse = client.prepareSearch(ElasticSearchUtil.getIndexName())

.setTypes(ElasticSearchUtil.TYPE_NAME)

.setQuery(boolQueryBuilder)

//指定查询字段

.addStoredField(” id”)

.addSort(order,sortOrder)

//分页

.setFrom(((currentPage-1)*限制).setSize(限制)

.execute()

.actionGet();

8,批量插入

public void batchInsert(列表列表,客户端客户端){

LOGGER.info(”———案例的批处理插入索引的开始——–“);

BulkRequestBuilder bulkRequest = client.prepareBulk();

长启动= System.currentTimeMillis();

BulkRequestBuilder delRequest = client.prepareBulk();

for(CaseTable caseTable:list){

IndexRequestBuilder ir = client.prepareIndex()

.setIndex(ElasticSearchUtil.INDEX_NAME_CASE)

.setType(ElasticSearchUtil.TYPE_NAME_CASE)

.setId(caseTable.getId()。toString())

.setSource(JSON.toJSONString(caseTable));

bulkRequest.add(ir);

start = System.currentTimeMillis();

BulkResponse bulkResponse = bulkRequest.execute()。 actionGet();

LOGGER.info(”案例批量插入周期搜索时间:{} ms”,System.currentTimeMillis()-开始);

if(!bulkResponse.hasFailures()){

LOGGER.info(”———-成功批量插入案例————“);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值