欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Elasticsearch查詢Range Query語法示例

 更新時(shí)間:2023年04月23日 14:53:13   作者:往之不諫  
這篇文章主要為大家介紹了Elasticsearch查詢Range Query語法示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Range Query

Range查詢可以查詢一個(gè)范圍內(nèi)的文檔。它可以用來查詢數(shù)值型字段、日期型字段、字符串型字段等等。

我們可以使用range查詢來查詢符合一定范圍內(nèi)的數(shù)據(jù),如查詢某個(gè)價(jià)格區(qū)間、某個(gè)時(shí)間段內(nèi)的數(shù)據(jù)等等。

查詢語法示例

GET /{index}/_search
{
  "query": {
    "range": {
      "{field}": {
        "gte": "{lowerBound}",
        "lte": "{upperBound}",
        "gt": "{lowerBound}",
        "lt": "{upperBound}",
        "boost": {boostValue},
        "format": "{dateFormat}",
        "time_zone": "{timezone}"
      }
    }
  }
}

其中,{field}表示要查詢的字段,{lowerBound}{upperBound}表示要查詢的范圍,gte表示大于等于,lte表示小于等于,gt表示大于,lt表示小于。

boost是用來提高查詢的重要性,可以設(shè)置一個(gè)浮點(diǎn)數(shù)。

format是用來設(shè)置日期格式,如果要查詢?nèi)掌陬愋偷淖侄危梢栽O(shè)置這個(gè)參數(shù)。

time_zone是用來設(shè)置時(shí)區(qū)。

查詢數(shù)字范圍

GET /products/_search
{
  "query": {
    "range": {
      "price": {
        "gte": 100,
        "lte": 200
      }
    }
  }
}

查詢?nèi)掌诜秶?/h3>
GET /logs/_search
{
  "query": {
    "range": {
      "timestamp": {
        "gte": "2022-01-01",
        "lte": "2022-01-31",
        "format": "yyyy-MM-dd"
      }
    }
  }
}

查詢字符串范圍

針對(duì)字符串類型的字段,使用range查詢需要注意以下幾點(diǎn):

  • 字符串類型的字段,必須使用keyword類型,才能使用range查詢。
  • 在查詢字符串的區(qū)間時(shí),需要使用字符串類型的區(qū)間邊界值。

下面是一個(gè)使用range查詢查詢字符串區(qū)間的示例:

查詢age字段值在"20""30"之間(包括邊界值)的文檔:

GET /user_info/_search
{
  "query": {
    "range": {
      "age": {
        "gte": "20",
        "lte": "30"
      }
    }
  }
}

注意

即使字段類型為字符串,如果該字段的值可以按照一定的順序進(jìn)行比較,那么就可以進(jìn)行范圍查詢。比如日期、數(shù)字、版本號(hào)等等。但是對(duì)于不可比較的字符串值,如名稱、描述等等,就無法進(jìn)行范圍查詢了。

JavaAPI查詢示例

SearchRequest searchRequest = new SearchRequest("user_info");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("age")
        .gte("20")
        .lte("30");
searchSourceBuilder.query(rangeQueryBuilder);
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);

總結(jié)

  • Range查詢可以用于數(shù)值型、日期型和字符串型的字段。
  • 對(duì)于字符串型的字段,其值需要具備可排序的特性,以便進(jìn)行范圍查詢。
  • 如果字符串的格式無法排序,需要將其轉(zhuǎn)換為可以排序的格式,如時(shí)間戳。
  • 范圍查詢可以指定包含邊界或者不包含邊界,以及包含哪些邊界。
  • 范圍查詢可以使用GTE、GT、LTE和LT參數(shù)來指定范圍的邊界。
  • 范圍查詢可以使用日期時(shí)間格式或者UNIX時(shí)間戳來查詢?nèi)掌谛妥侄巍?/li>

以上就是Elasticsearch查詢Range Query語法示例的詳細(xì)內(nèi)容,更多關(guān)于Elasticsearch查詢Range Query的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 阿里四面之Spring Exception的原理解析

    阿里四面之Spring Exception的原理解析

    本文給大家介紹阿里四面之Spring Exception的原理解析,本文通過錯(cuò)誤場景分析給大家詳細(xì)介紹Spring異常處理流程,感興趣的朋友一起看看吧
    2021-10-10
  • SpringBoot利用限速器RateLimiter實(shí)現(xiàn)單機(jī)限流的示例代碼

    SpringBoot利用限速器RateLimiter實(shí)現(xiàn)單機(jī)限流的示例代碼

    本文主要介紹了SpringBoot利用限速器RateLimiter實(shí)現(xiàn)單機(jī)限流的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java?API文檔的使用方法詳解

    Java?API文檔的使用方法詳解

    在開發(fā)過程中如果遇到疑難問題,除了可以在網(wǎng)絡(luò)中尋找答案,也可以在Java API幫助文檔(簡稱"JDK文檔"”)中查找答案,下面這篇文章主要給大家介紹了關(guān)于Java?API文檔使用的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Spring?MVC數(shù)據(jù)綁定方式

    Spring?MVC數(shù)據(jù)綁定方式

    這篇文章主要介紹了Spring?MVC數(shù)據(jù)綁定方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java如何利用Mybatis進(jìn)行數(shù)據(jù)權(quán)限控制詳解

    Java如何利用Mybatis進(jìn)行數(shù)據(jù)權(quán)限控制詳解

    這篇文章主要介紹了Java如何利用Mybatis進(jìn)行數(shù)據(jù)權(quán)限控制詳解,數(shù)據(jù)權(quán)限控制最終的效果是會(huì)要求在同一個(gè)數(shù)據(jù)請(qǐng)求方法中,根據(jù)不同的權(quán)限返回不同的數(shù)據(jù)集,而且無需并且不能由研發(fā)編碼控制。,需要的朋友可以參考下
    2019-06-06
  • SpringBoot實(shí)現(xiàn)多個(gè)子域共享cookie的示例

    SpringBoot實(shí)現(xiàn)多個(gè)子域共享cookie的示例

    本文主要介紹了SpringBoot實(shí)現(xiàn)多個(gè)子域共享cookie的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 這一次搞懂Spring事務(wù)是如何傳播的

    這一次搞懂Spring事務(wù)是如何傳播的

    這篇文章主要介紹了這一次搞懂Spring事務(wù)是如何傳播的,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java設(shè)計(jì)模式之備忘錄模式實(shí)現(xiàn)對(duì)象狀態(tài)的保存和恢復(fù)

    Java設(shè)計(jì)模式之備忘錄模式實(shí)現(xiàn)對(duì)象狀態(tài)的保存和恢復(fù)

    本文介紹Java設(shè)計(jì)模式之備忘錄模式,該模式可以實(shí)現(xiàn)對(duì)象狀態(tài)的保存和恢復(fù)。通過詳細(xì)講解備忘錄模式的原理、實(shí)現(xiàn)方法和應(yīng)用場景,幫助讀者深入理解該設(shè)計(jì)模式,并提供示例代碼和技巧,便于讀者實(shí)際應(yīng)用
    2023-04-04
  • springboot項(xiàng)目部署在linux上運(yùn)行的兩種方式小結(jié)

    springboot項(xiàng)目部署在linux上運(yùn)行的兩種方式小結(jié)

    這篇文章主要介紹了springboot項(xiàng)目部署在linux上運(yùn)行的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Jackson序列化和反序列化忽略字段操作

    Jackson序列化和反序列化忽略字段操作

    這篇文章主要介紹了Jackson序列化和反序列化忽略字段操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評(píng)論