ES根據(jù)日期查詢數(shù)據(jù)-創(chuàng)新互聯(lián)

1 實(shí)體類寫入ES

為桂東等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及桂東網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站建設(shè)、桂東網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

在寫入ES庫的時(shí)候,日期格式需要轉(zhuǎn)換成ES可以識(shí)別的日期格式:

yyyy/MM/dd HH:mm:ss

然后寫入ES庫即可

一般是根據(jù)時(shí)間區(qū)間查詢,所以如果有空字段可以設(shè)置一個(gè)默認(rèn)值方便查詢

//如果結(jié)束時(shí)間為空 手動(dòng)設(shè)置成2099年12月31號(hào)為結(jié)束時(shí)間
  if(ObjectUtil.isEmpty(esMedList.getEnddate())){
      esMedList.setEnddate(DateUtil.parseDate("2099-12-31"));
    }
  IndexRequest request = new IndexRequest(indexName);
  request.id(esMedList.getMedListCodg());
  request.type("_doc");
  request.source(JSONObject.toJSONString(esMedList), XContentType.JSON);
  request.opType(DocWriteRequest.OpType.CREATE);
  bulkProcessor.add(request);

2 查詢ES數(shù)據(jù)的時(shí)候

BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
        queryBuilder.filter(QueryBuilders.rangeQuery("begndate")
                .to(DateUtil.format(feeOccuTime,dateFormat)));
        queryBuilder.filter(QueryBuilders.rangeQuery("enddate").from(DateUtil.format(feeOccuTime,dateFormat)));
        queryBuilder.must(QueryBuilders.matchQuery("drugProdname", drugProdname));

        if(chrgitmLv!=null){
            queryBuilder.filter(QueryBuilders.termQuery("chrgitmLv", chrgitmLv));
        }

        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
        searchSourceBuilder.query(queryBuilder);

ES的一些搜索規(guī)則:

//4設(shè)置搜索規(guī)則   
//4.1QueryBuilders.matchAllQuery() 查詢?nèi)繑?shù)據(jù)
searchSourceBuilder .query(QueryBuilders.matchAllQuery());
//4.2 QueryBuilders.termQuery :對(duì)搜索關(guān)鍵字不分詞進(jìn)行查詢 精準(zhǔn)查詢
searchSourceBuilder.query(QueryBuilders.termQuery("name","張三"));
//4.2.1 termsQuery: 精準(zhǔn)查詢,一次匹配多個(gè)數(shù)據(jù)
searchSourceBuilder.query(QueryBuilders.termsQuery("id","25","24"));
//4.3 QueryBuilders.matchQuery(). 關(guān)鍵字分詞進(jìn)行查詢
searchSourceBuilder.query(QueryBuilders.matchQuery("courseName","分布式課程入門").operator(Operator.AND));
//4.3.1 QueryBuilders.multiMatchQuery() 關(guān)鍵字匹配多個(gè)字段,可以給某一個(gè)字段設(shè)置 權(quán)重,提升的倍數(shù)。
searchSourceBuilder.query(QueryBuilders.multiMatchQuery("分布式OK", "courseName", "courseDescription").field("courseName", 10));
//4.4 時(shí)間范圍搜索 .from(起始時(shí)間).to(結(jié)束時(shí)間)
searchSourceBuilder.query(QueryBuilders.must(QueryBuilders.rangeQuery("commentTime").from("2022-01-02 13:11:00").to("2022-01-02 14:11:00")));
//4.5 QueryBuilders.rangeQuery 范圍查詢 gte 大于等于 lte 小于等于
searchSourceBuilder.query(QueryBuilders.rangeQuery("pay").gte(1000).lte(2000));

參考:

JAVA代碼實(shí)現(xiàn)ElasticSearch搜索(入門-進(jìn)階)(一):搜索方法、多字段查詢、高亮展示_majunssz的博客-博客

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

標(biāo)題名稱:ES根據(jù)日期查詢數(shù)據(jù)-創(chuàng)新互聯(lián)
文章URL:http://muchs.cn/article12/pgegc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計(jì)、定制網(wǎng)站小程序開發(fā)、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司