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

ElasticSearch 實戰(zhàn):查詢Sort(查詢排序)

這篇具有很好參考價值的文章主要介紹了ElasticSearch 實戰(zhàn):查詢Sort(查詢排序)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在Elasticsearch中,查詢排序(Sort)功能允許用戶控制搜索結(jié)果的返回順序。這有助于根據(jù)特定字段的值對匹配文檔進行升序(asc)或降序(desc)排列。以下是如何在實戰(zhàn)中使用Elasticsearch查詢排序的示例:

一、基本排序

**1. 在URL參數(shù)中指定排序
GET /my_index/_search?sort=title:asc,body:text

此請求將按照title字段的值升序排序,如果title字段值相同,則按照body字段的文本相關(guān)性排序。

**2. 在請求體中指定排序
POST /my_index/_search
{
  "sort": [
    { "title": { "order": "asc" } },
    { "body": { "order": "text" } }
  ]
}

此請求體結(jié)構(gòu)與URL參數(shù)形式等效,但提供了更豐富的排序選項。

二、多字段排序

可以同時指定多個字段進行排序,Elasticsearch會依次按照字段列表的順序進行比較:

POST /my_index/_search
{
  "sort": [
    { "release_date": { "order": "desc" } },
    { "rating": { "order": "desc" } }
  ]
}

這個查詢首先按照release_date字段降序排序,對于release_date相同的文檔,再按照rating字段降序排序。

三、復(fù)雜排序

Elasticsearch支持對數(shù)值、日期、地理位置、文本等各類字段進行排序,并提供了多種高級選項:

**1. 數(shù)值排序
POST /my_index/_search
{
  "sort": [
    { "popularity": { "order": "desc", "unmapped_type": "long" } }
  ]
}

這里指定了popularity字段降序排序,并設(shè)置了unmapped_type以防字段未映射為數(shù)值類型時的錯誤。

**2. 日期排序
POST /my_index/_search
{
  "sort": [
    { "created_at": { "order": "desc", "format": "strict_date_optional_time_nanos" } }
  ]
}

created_at字段進行降序排序,并指定日期格式。

**3. 地理位置排序
POST /my_index/_search
{
  "sort": [
    {
      "_geo_distance": {
        "pin.location": [-70.0, 40.0],
        "order": "asc",
        "unit": "km"
      }
    }
  ]
}

按照與點[-70.0, 40.0]的距離升序排序地理位置字段。

**4. 文本相關(guān)性排序
POST /my_index/_search
{
  "sort": [
    { "_score": { "order": "desc" } }
  ],
  "query": {
    "multi_match": {
      "query": "search terms",
      "fields": ["title^2", "body"]
    }
  }
}

在執(zhí)行查詢后,按照文檔與查詢的文本相關(guān)性( _score)降序排序。

四、排序模式

對于多值字段或數(shù)組字段,可以指定排序模式:

POST /my_index/_search
{
  "sort": [
    {
      "tags": {
        "order": "desc",
        "mode": "max"  // 取數(shù)組中最大值排序
      }
    }
  ]
}

此處對tags字段取最大值進行降序排序。

五、缺失值處理

可以指定當文檔缺少排序字段時如何處理:

POST /my_index/_search
{
  "sort": [
    {
      "views": {
        "order": "desc",
        "missing": "_last"  // 缺失值排在最后
      }
    }
  ]
}

在此示例中,缺少views字段的文檔將被置于排序結(jié)果的末尾。

實戰(zhàn)總結(jié)

Elasticsearch的查詢排序功能強大且靈活,支持對各類字段進行升序或降序排列,可結(jié)合多字段排序、復(fù)雜排序選項(如地理位置、文本相關(guān)性等)、排序模式以及缺失值處理策略,以滿足各種業(yè)務(wù)場景的需求。在實際應(yīng)用中,應(yīng)根據(jù)查詢目的和數(shù)據(jù)特性選擇合適的排序方式,以提高用戶體驗和查詢結(jié)果的相關(guān)性。同時,要注意排序操作可能影響查詢性能,特別是在大規(guī)模數(shù)據(jù)集上對高基數(shù)字段進行排序時,可能需要結(jié)合索引優(yōu)化、查詢緩存等策略進行性能調(diào)優(yōu)。文章來源地址http://www.zghlxwxcb.cn/news/detail-853784.html

到了這里,關(guān)于ElasticSearch 實戰(zhàn):查詢Sort(查詢排序)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • ElasticSearch如何使用以及java代碼如何查詢并排序ES中的數(shù)據(jù)(距離排序)

    ElasticSearch如何使用以及java代碼如何查詢并排序ES中的數(shù)據(jù)(距離排序)

    import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.geo.GeoDistance; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.TransportAddress; import org.elasticsearch.common.unit.DistanceUnit; import org.elasticsearch.common.unit.

    2024年04月12日
    瀏覽(25)
  • ElasticSearch 實戰(zhàn):ES查詢索引文檔的6種方法

    在Elasticsearch中,查詢索引文檔的方法多種多樣,這里列舉了6種常見的查詢方法,其中包括: 簡單查詢(String Query) 這是最基本的全文搜索,只需在URL后面附加查詢字符串即可。例如,對索引 my_index 中的所有文檔執(zhí)行模糊匹配查詢: Match Query 類似于簡單查詢,但提供了更多的

    2024年04月12日
    瀏覽(20)
  • 【ES專題】ElasticSearch 高級查詢語法Query DSL實戰(zhàn)

    【ES專題】ElasticSearch 高級查詢語法Query DSL實戰(zhàn)

    個人在學(xué)習(xí)的過程中,感覺比較吃力的地方有如下: 語法結(jié)構(gòu)比較陌生 沒有中文文檔, 只能看英文 其他博客也比較少介紹語法結(jié)構(gòu)。比如說,為什么查詢中會出現(xiàn) query 有ES入門基礎(chǔ),且想進一步學(xué)習(xí)ES基本操作的朋友 系列上一篇文章:《【ES專題】ElasticSearch快速入

    2024年02月06日
    瀏覽(24)
  • elasticsearch(ES)分布式搜索引擎03——(RestClient查詢文檔,ES旅游案例實戰(zhàn))

    elasticsearch(ES)分布式搜索引擎03——(RestClient查詢文檔,ES旅游案例實戰(zhàn))

    文檔的查詢同樣適用昨天學(xué)習(xí)的 RestHighLevelClient對象,基本步驟包括: 1)準備Request對象 2)準備請求參數(shù) 3)發(fā)起請求 4)解析響應(yīng) 我們以match_all查詢?yōu)槔?3.1.1.發(fā)起查詢請求 代碼解讀: 第一步,創(chuàng)建 SearchRequest 對象,指定索引庫名 第二步,利用 request.source() 構(gòu)建DSL,DSL中可

    2024年02月07日
    瀏覽(26)
  • Elasticsearch實戰(zhàn)(十七)---ES搜索如何使用In操作查詢及如何Distinct去除重復(fù)數(shù)據(jù)

    Elasticsearch實戰(zhàn)(十七)---ES搜索如何使用In操作查詢及如何Distinct去除重復(fù)數(shù)據(jù)

    Elasticsearch實戰(zhàn)-ES搜索如何使用In操作查詢filter過濾及如何Distinct去除重復(fù)數(shù)據(jù) 場景: ES搜索, 獲取手機號是 19000001111 或者 19000003333 后者 19000004444 的人, 并且 性別是男, 且 年齡是[20-30]的人,這種查詢用mysql 如何實現(xiàn) ? 在mysql中會用in查詢, 但是在ES中 我們實現(xiàn)就是 term

    2023年04月09日
    瀏覽(20)
  • ElasticSearch - 根據(jù)時間區(qū)間查詢

    1. 需求分析 項目需求:根據(jù)時間區(qū)間查詢elasticsearch中的數(shù)據(jù) 查詢最近7天的數(shù)據(jù),前端請求路徑: https://10.87.67.226/chahua/api/v1/list?endTime=1651288728694startTime=1650683928694timeScope=last7d 查詢最近30天的數(shù)據(jù),前端請求路徑: endTime=1651288728694startTime=1650683928694timeScope=last30d 查詢最近3個月

    2024年02月12日
    瀏覽(66)
  • ElasticSearch支持根據(jù)英文或者數(shù)字進行模糊查詢

    ElasticSearch支持根據(jù)英文或者數(shù)字進行模糊查詢

    提示:以下操作均在kibana7.7.0中操作。 根據(jù)es去查詢商品的名稱,中文查詢能查詢出數(shù)據(jù),但是只輸入部分英文或者數(shù)字,查詢不出數(shù)據(jù)。 es中的分詞器,只將全部的數(shù)字和英文做了分詞,即將他們看成一個單詞,所以,只輸入部分英文或者數(shù)字時,不存在該部分的分詞,估

    2024年02月12日
    瀏覽(20)
  • Java根據(jù)id對elasticsearch查詢操作

    一、根據(jù)一個id查詢 二、根據(jù)多個ids查詢

    2024年02月12日
    瀏覽(24)
  • es elasticsearch kibana 根據(jù) id 只更新部分字段

    官方文檔: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html#_update_part_of_a_document 給自己記錄一下: 其中 test 是索引名,需要根據(jù)實際情況替換。_update 是固定值,表示更新文檔。1 是想要更新文檔的主鍵,根據(jù)實際情況替換。 “doc” 是固定值,“my_field_name” 是被

    2024年02月13日
    瀏覽(25)
  • Java查詢es數(shù)據(jù),根據(jù)指定id檢索(in查詢),sql權(quán)限過濾,多字段匹配檢索,數(shù)據(jù)排序

    Java集成Elasticsearch,進行索引數(shù)據(jù)查詢,并進行sql權(quán)限過濾,指定id檢索(in查詢),多字段匹配檢索,數(shù)據(jù)排序。由于權(quán)限過濾是根據(jù)sql語句判斷當前用戶或其部門可查詢的數(shù)據(jù),所以采用以下方法: 1.通過sql過濾出當前用戶可查詢的數(shù)據(jù)id集合idsList; 2.將當前用戶可查詢的

    2024年02月22日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包