国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Elasticsearch 查詢(xún)?nèi)繑?shù)據(jù),按照時(shí)間區(qū)間查詢(xún)數(shù)據(jù)

這篇具有很好參考價(jià)值的文章主要介紹了Elasticsearch 查詢(xún)?nèi)繑?shù)據(jù),按照時(shí)間區(qū)間查詢(xún)數(shù)據(jù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

簡(jiǎn)介
在項(xiàng)目開(kāi)發(fā)過(guò)程中需要從Elasticsearch中查詢(xún)?nèi)罩緮?shù)據(jù),下面介紹從Elasticsearch中查詢(xún)索引全部數(shù)據(jù),以及按照時(shí)間區(qū)間查詢(xún)索引數(shù)據(jù)。

引入依賴(lài)

<!-- Elasticsearch客戶(hù)端 -->
<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.9.1</version>
</dependency>

<!-- Elasticsearch版本 -->
<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>7.9.1</version>
</dependency>

創(chuàng)建配置類(lèi)

import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ElasticsearchConfig {
    public static final RequestOptions COMMON_OPTIONS;

    static {
        RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
        COMMON_OPTIONS = builder.build();
    }

    @Bean
    public RestHighLevelClient esRestClient() {
        RestClientBuilder builder = null;
        builder = RestClient.builder(new HttpHost("ip address", 9200, "http"));
        RestHighLevelClient client = new RestHighLevelClient(builder);
        return client;
    }
}

查詢(xún)索引下的全部數(shù)據(jù)

public static void matchAllQuery() throws Exception {
    ElasticsearchConfig elasticSearchConfig = new ElasticsearchConfig();
    RestHighLevelClient client = elasticSearchConfig.esRestClient();

    // 搜索請(qǐng)求對(duì)象
    SearchRequest searchRequest = new SearchRequest("shenyu-access-logging");
    // 指定類(lèi)型
    searchRequest.types("_doc");
    // 搜索源構(gòu)建對(duì)象
    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
    // 搜索方式
    // matchAllQuery搜索全部,設(shè)置查詢(xún)數(shù)據(jù)條數(shù)為20。
    searchSourceBuilder.query(QueryBuilders.matchAllQuery());
    searchSourceBuilder.size(20);
    // 設(shè)置源字段過(guò)慮,第一個(gè)參數(shù)結(jié)果集包括哪些字段,第二個(gè)參數(shù)表示結(jié)果集不包括哪些字段
    searchSourceBuilder.fetchSource(new String[] {"requestUri", "requestHeader", "requestBody", "responseHeader", "responseBody"}, new String[]{});
    // 向搜索請(qǐng)求對(duì)象中設(shè)置搜索源
    searchRequest.source(searchSourceBuilder);
    // 執(zhí)行搜索,向ES發(fā)起http請(qǐng)求
    SearchResponse searchResponse = client.search(searchRequest, ElasticsearchConfig.COMMON_OPTIONS);
    // 搜索結(jié)果
    SearchHits hits = searchResponse.getHits();
    // 匹配到的總記錄數(shù)
    TotalHits totalHits = hits.getTotalHits();
    // 得到匹配度高的文檔
    SearchHit[] searchHits = hits.getHits();

    for (SearchHit hit: searchHits) {
        // 文檔的主鍵
        String id = hit.getId();
        // 源文檔內(nèi)容
        Map<String, Object> sourceAsMap = hit.getSourceAsMap();
        System.out.println(sourceAsMap);
    }
}

按照時(shí)間區(qū)間查詢(xún)索引數(shù)據(jù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-513392.html

public static void matchTimeRangeQuery() throws Exception {
    ElasticsearchConfig elasticSearchConfig = new ElasticsearchConfig();
    RestHighLevelClient client = elasticSearchConfig.esRestClient();

    // 搜索請(qǐng)求對(duì)象
    SearchRequest searchRequest = new SearchRequest("shenyu-access-logging");
    // 指定類(lèi)型
    searchRequest.types("_doc");
    // 搜索源構(gòu)建對(duì)象
    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
    // 搜索方式
    // 按時(shí)間區(qū)間查詢(xún),設(shè)置查詢(xún)數(shù)據(jù)條數(shù)為20。
    searchSourceBuilder.query(QueryBuilders.rangeQuery("timeLocal.keyword").from("2022-11-02 15:21:22.794").to("2022-11-02 16:22:33.794"));
    searchSourceBuilder.size(20);
    // 設(shè)置源字段過(guò)慮,第一個(gè)參數(shù)結(jié)果集包括哪些字段,第二個(gè)參數(shù)表示結(jié)果集不包括哪些字段
    searchSourceBuilder.fetchSource(new String[] {"timeLocal", "requestUri", "requestHeader", "requestBody", "responseHeader", "responseBody"}, new String[]{});
    // 向搜索請(qǐng)求對(duì)象中設(shè)置搜索源
    searchRequest.source(searchSourceBuilder);
    // 執(zhí)行搜索,向ES發(fā)起http請(qǐng)求
    SearchResponse searchResponse = client.search(searchRequest, ElasticsearchConfig.COMMON_OPTIONS);
    // 搜索結(jié)果
    SearchHits hits = searchResponse.getHits();
    // 匹配到的總記錄數(shù)
    TotalHits totalHits = hits.getTotalHits();
    // 得到匹配度高的文檔
    SearchHit[] searchHits = hits.getHits();

    for (SearchHit hit: searchHits) {
        // 文檔的主鍵
        String id = hit.getId();
        // 源文檔內(nèi)容
        Map<String, Object> sourceAsMap = hit.getSourceAsMap();
        System.out.println(sourceAsMap);
    }
}

到了這里,關(guān)于Elasticsearch 查詢(xún)?nèi)繑?shù)據(jù),按照時(shí)間區(qū)間查詢(xún)數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包