最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Elasticsearch查詢Range Query語法示例

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

Range Query

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

我們可以使用range查詢來查詢符合一定范圍內(nèi)的數(shù)據(jù),如查詢某個價格區(qū)間、某個時間段內(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è)置一個浮點數(shù)。

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

time_zone是用來設(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"
      }
    }
  }
}

查詢字符串范圍

針對字符串類型的字段,使用range查詢需要注意以下幾點:

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

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

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

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

注意

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

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

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

相關(guān)文章

  • 解決idea找不到或無法加載主類的錯誤處理

    解決idea找不到或無法加載主類的錯誤處理

    這篇文章主要介紹了解決idea找不到或無法加載主類的錯誤處理,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Java使用itext5實現(xiàn)PDF表格文檔導(dǎo)出

    Java使用itext5實現(xiàn)PDF表格文檔導(dǎo)出

    這篇文章主要介紹了Java使用itext5實現(xiàn)PDF表格文檔導(dǎo)出,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 工廠模式_動力節(jié)點Java學院整理

    工廠模式_動力節(jié)點Java學院整理

    這篇文章主要介紹了工廠模式_動力節(jié)點Java學院整理的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • Spring Security登陸流程講解

    Spring Security登陸流程講解

    本文主要介紹了Spring Security登陸流程講解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java多線程中的Executor框架解析

    Java多線程中的Executor框架解析

    這篇文章主要介紹了Java多線程中的Executor框架解析,Executor 框架是 Java5 之后引進的,在 Java 5 之后,通過 Executor 來啟動線程比使用 Thread 的 start 方法更好,除了更易管理,效率更好,需要的朋友可以參考下
    2023-12-12
  • Springboot跨域CORS處理實現(xiàn)原理

    Springboot跨域CORS處理實現(xiàn)原理

    這篇文章主要介紹了Springboot跨域CORS處理實現(xiàn)原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • @RequestBody時第二個字母大寫,映射不到的解決

    @RequestBody時第二個字母大寫,映射不到的解決

    這篇文章主要介紹了@RequestBody時第二個字母大寫,映射不到的解決方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringBoot集成Apache POI實現(xiàn)Excel的導(dǎo)入導(dǎo)出

    SpringBoot集成Apache POI實現(xiàn)Excel的導(dǎo)入導(dǎo)出

    Apache POI是一個流行的Java庫,用于處理Microsoft Office格式文件,包括Excel文件,本文主要介紹了SpringBoot集成Apache POI實現(xiàn)Excel的導(dǎo)入導(dǎo)出,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • Java多線程模式之Balking模式詳解

    Java多線程模式之Balking模式詳解

    這篇文章主要介紹了Java多線程模式之Balking模式,結(jié)合實例形式較為詳細的分析了Balking模式的原理、用法與相關(guān)注意事項,需要的朋友可以參考下
    2017-06-06
  • SpringBoot整合weixin-java-pay實現(xiàn)微信小程序支付的示例代碼

    SpringBoot整合weixin-java-pay實現(xiàn)微信小程序支付的示例代碼

    微信小程序支付是常見的一種功能,本文主要介紹了SpringBoot整合weixin-java-pay實現(xiàn)微信小程序支付的示例代碼,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-05-05

最新評論

板桥市| 皋兰县| 天津市| 阜南县| 榆林市| 福州市| 酒泉市| 南溪县| 鹤庆县| 临沭县| 绵竹市| 常宁市| 荆门市| 湘潭县| 湛江市| 封丘县| 富蕴县| 蓬溪县| 鄯善县| 舟曲县| 绵竹市| 延边| 禹城市| 隆回县| 桂东县| 南木林县| 蒙阴县| 密云县| 永和县| 读书| 泽库县| 璧山县| 化德县| 巨野县| 翼城县| 郸城县| 东乡族自治县| 东海县| 焦作市| 益阳市| 商水县|