【ELK】【Elasticsearch】數據查詢方式

1.?簡單查詢(URI Search)

通過 URL 參數直接進行查詢,適合簡單的搜索場景。

示例

bash

復制

GET /index_name/_search?q=field_name:search_value

說明

  • index_name:索引名稱。

  • field_name:字段名稱。

  • search_value:搜索值。

特點

  • 簡單易用,適合快速測試。

  • 功能有限,不支持復雜的查詢邏輯。


2.?DSL 查詢(Query DSL)

使用 Elasticsearch 的?Query DSL(Domain Specific Language)進行查詢,支持復雜的查詢邏輯。

示例

json

復制

GET /index_name/_search
{"query": {"match": {"field_name": "search_value"}}
}

常用查詢類型

  • Match Query:全文搜索,支持分詞。

    json

    復制

    {"query": {"match": {"field_name": "search_value"}}
    }
  • Term Query:精確匹配,不支持分詞。

    json

    復制

    {"query": {"term": {"field_name": {"value": "search_value"}}}
    }
  • Range Query:范圍查詢。

    json

    復制

    {"query": {"range": {"field_name": {"gte": 10,"lte": 20}}}
    }
  • Bool Query:組合查詢(支持?mustshouldmust_not)。

    json

    復制

    {"query": {"bool": {"must": [{ "match": { "field1": "value1" } },{ "match": { "field2": "value2" } }]}}
    }

特點

  • 功能強大,支持復雜的查詢邏輯。

  • 適合生產環境使用。


3.?聚合查詢(Aggregations)

用于對數據進行統計和分析,支持多種聚合操作(如求和、平均值、分組等)。

示例

json

復制

GET /index_name/_search
{"size": 0,"aggs": {"group_by_field": {"terms": {"field": "field_name"}}}
}

常用聚合類型

  • Terms Aggregation:按字段值分組。

  • Metric Aggregation:計算指標(如?sumavgmaxmin)。

  • Date Histogram Aggregation:按時間區間分組。

  • Nested Aggregation:嵌套聚合。

特點

  • 適合數據分析場景。

  • 可以結合 Query DSL 使用。


4.?過濾查詢(Filter Context)

用于過濾數據,通常與 Query DSL 結合使用。

示例

json

復制

GET /index_name/_search
{"query": {"bool": {"filter": [{ "term": { "field_name": "value" } }]}}
}

特點

  • 過濾條件不參與評分,性能較高。

  • 適合精確匹配場景。


5.?高亮查詢(Highlighting)

用于高亮顯示搜索結果中的匹配部分。

示例

json

復制

GET /index_name/_search
{"query": {"match": {"field_name": "search_value"}},"highlight": {"fields": {"field_name": {}}}
}

特點

  • 適合需要突出顯示搜索結果的場景。


6.?分頁查詢(Pagination)

用于分頁獲取數據。

示例

json

復制

GET /index_name/_search
{"from": 0,"size": 10,"query": {"match_all": {}}
}

說明

  • from:起始位置。

  • size:每頁大小。

特點

  • 適合大數據量的分頁查詢。


7.?排序查詢(Sorting)

用于對搜索結果進行排序。

示例

json

復制

GET /index_name/_search
{"query": {"match_all": {}},"sort": [{ "field_name": { "order": "asc" } }]
}

特點

  • 支持多字段排序。

  • 可以結合分頁查詢使用。


8.?腳本查詢(Script Query)

使用腳本進行自定義查詢。

示例

json

復制

GET /index_name/_search
{"query": {"script": {"script": {"source": "doc['field_name'].value > params.value","params": {"value": 10}}}}
}

特點

  • 支持復雜的自定義邏輯。

  • 性能較低,慎用。


9.?嵌套查詢(Nested Query)

用于查詢嵌套類型的字段。

示例

json

復制

GET /index_name/_search
{"query": {"nested": {"path": "nested_field","query": {"match": {"nested_field.sub_field": "value"}}}}
}

特點

  • 適合處理嵌套結構的文檔。


10.?跨索引查詢(Cross-Index Search)

可以同時查詢多個索引的數據。

示例

json

復制

GET /index1,index2/_search
{"query": {"match_all": {}}
}

特點

  • 適合需要從多個索引中查詢數據的場景。


總結

Elasticsearch 提供了豐富的查詢方式,可以根據不同的需求選擇合適的查詢方法:

  • 簡單查詢:適合快速測試。

  • DSL 查詢:功能強大,適合生產環境。

  • 聚合查詢:適合數據分析。

  • 過濾查詢:適合精確匹配。

  • 高亮查詢:適合突出顯示搜索結果。

  • 分頁查詢:適合大數據量場景。

  • 腳本查詢:支持自定義邏輯。

根據具體場景選擇合適的查詢方式,可以提高查詢效率和準確性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/70244.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70244.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/70244.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

軟件測試:定義和實質

軟件缺陷的定義: 未實現說明書要求的功能出現了說明書指明不應出現的錯誤實現了說明書未提到的功能未實現說明書沒有明確提出但應該實現的目標軟件難以理解,不易使用,運行緩慢 或者從測試員客戶會認為不好的。 軟件缺陷的原因: …

【軟考】【2025年系統分析師拿證之路】【啃書】第十一章 軟件需求工程(十二)

目錄 需求的層次需求工程的主要活動需求的記錄技術需求分析需求定義 需求的層次 業務需求用戶需求系統需求 需求工程的主要活動 需求獲取需求分析形成需求規格需求確認和驗證需求管理 需求的記錄技術 任務卡片場景說明用戶故事 需求分析 方法: 結構化分析&a…

計算機網絡原理試題六

一、單項選擇 1.(單選題,5分)IP地址中網絡號的作用有 A.指定了設備能夠進行通信的網絡 B.指定了主機所屬的網絡 C.指定了被尋址的子網中的某個節點 D.標志了網絡中的主機 答案:B 2.(單選題,5分)關于IP主機地址,下列說法正確的是 A.網段部分不可以全1也不可以全0 B.主機部分可…

路由基礎 | 路由引入實驗 | 不同路由引入方式存在的問題

注:本文為 “路由基礎 | 路由表 | 路由引入” 相關文章合輯。 未整理去重。 路由基本概念 1—— 路由表信息、路由進表以及轉發流程、最長掩碼匹配原則 靜下心來敲木魚已于 2023-11-26 14:06:22 修改 什么是路由 路由就是指導報文轉發的路徑信息,可以…

更高效實用 vscode 的常用設置

VSCode 可以說是文本編輯神器, 不止程序員使用, 普通人用其作為文本編輯工具, 更是效率翻倍. 這里分享博主對于 VSCode 的好用設置, 讓 VSCode 如虎添翼 進入設置 首先進入設置界面, 后續都在這里進行配置修改 具體設置 每項配置通過搜索關鍵字, 來快速定位配置項 自動保存…

本地部署DeepSeek

1、下載ollama 瀏覽器輸入ollama,打開ollama網站,選擇版本下載 可以使用迅雷下載 打開迅雷,復制網址 2、安裝ollama ollama下載完成之后,安裝 3、查看ollama版本 Win R,cmd ollama -v 查看ollama版本 4、下載De…

大模型驅動的業務自動化

大模型輸出token的速度太低且為統計輸出,所以目前大模型主要應用在toP(人)的相關領域;但其智能方面的優勢又是如此的強大,自然就需要嘗試如何將其應用到更加廣泛的toM(物理系統、生產系統)領域中…

Leetcode1299:將每個元素替換為右側最大元素

題目描述: 給你一個數組 arr ,請你將每個元素用它右邊最大的元素替換,如果是最后一個元素,用 -1 替換。 完成所有替換操作后,請你返回這個數組。 代碼思路: 方法 replaceElements 輸入參數:…

Java 大視界 -- 人才需求與培養:Java 大數據領域的職業發展路徑(92)

💖親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也…

Weboffice在線Word權限控制:限制編輯,只讀、修訂、禁止復制等

在現代企業辦公中,文檔編輯是一項常見且重要的任務。尤其是在線辦公環境中,員工需要在網頁中打開和編輯文檔,但如何確保這些文檔只能進行預覽而無法被編輯或復制,成為許多企業面臨的一個痛點。尤其是在處理涉密文檔時,…

基于 Spring Boot 和微信小程序的倉儲管理系統設計與實現

大家好,今天要和大家聊的是一款基于 Spring Boot 和 微信小程序 的“倉儲管理系統”的設計與實現。項目源碼以及部署相關事宜請聯系我,文末附上聯系方式。 項目簡介 基于 Spring Boot 和 微信小程序 的“倉儲管理系統”主要使用者分為 員工、供應商 和…

Stable Diffusion本地化部署超詳細教程(手動+自動+整合包三種方式)

一、 Stable Diffusion簡介 2022年作為AIGC(Artificial Intelligence GeneratedContent)時代的元年,各個領域的AIGC技術都有一個迅猛的發展,給工業界、學術界、投資界甚至競賽界都注入了新的“[AI(https://so.csdn.net/so/search…

WPS的AI助手進化跟蹤(靈犀+插件)

Ver V0.0 250216: 如何給WPS安裝插件用以支持其他大模型LLM V0.1 250217: WPS的靈犀AI現在是DeepSeek R1(可能是全參數671B) 前言 WPS也有內置的AI,叫靈犀,之前應是自已的LLM模型,只能說是屬于“能用,有好過無”,所…

通俗理解-L、-rpath和-rpath-link編譯鏈接動態庫

一、參考資料 鏈接選項 rpath 的應用和原理 | BewareMyPower的博客 使用 rpath 和 rpath-link 確保 samba-util 庫正確鏈接-CSDN博客 編譯參數-Wl和rpath的理解_-wl,-rpath-CSDN博客 Using LD, the GNU linker - Options Directory Options (Using the GNU Compiler Colle…

SpringMVC環境搭建

文章目錄 1.模塊創建1.創建一個webapp的maven項目2.目錄結構 2.代碼1.HomeController.java2.home.jsp3.applicationContext.xml Spring配置文件4.spring-mvc.xml SpringMVC配置文件5.web.xml 配置中央控制器以及Spring和SpringMVC配置文件的路徑6.index.jsp 3.配置Tomcat1.配置…

window中git bash使用conda命令

window系統的終端cmd和linux不一樣,運行不了.sh文件,為了在window中模仿linux,可以使用gui bash模擬linux的終端。為了在gui bash中使用python環境,由于python環境是在anaconda中創建的,所以需要在gui bash使用conda命…

在線考試系統(代碼+數據庫+LW)

摘 要 使用舊方法對在線考試系統的信息進行系統化管理已經不再讓人們信賴了,把現在的網絡信息技術運用在在線考試系統的管理上面可以解決許多信息管理上面的難題,比如處理數據時間很長,數據存在錯誤不能及時糾正等問題。這次開發的在線考試…

c/c++藍橋杯經典編程題100道(19)漢諾塔問題

漢諾塔問題 ->返回c/c藍橋杯經典編程題100道-目錄 目錄 漢諾塔問題 一、題型解釋 二、例題問題描述 三、C語言實現 解法1:遞歸法(難度★) 解法2:迭代法(難度★★★) 四、C實現 解法1&#xff1…

趕AI大潮:在VSCode中使用DeepSeek及近百種模型的極簡方法

1 趕AI大潮:在VSCode中使用DeepSeek及近百種模型的極簡方法 1.1 背景 DeepSeek在春節期間突然大行其道,欣喜國力大增的同時,對于普通IT工作者,如何才能享受這一波AI紅利,讓自己的工作更出彩呢? ??很多人…

【一文讀懂】HTTP與Websocket協議

HTTP協議 概述 HTTP (Hypertext Transfer Protocol),即超文本傳輸協議,是一種用于在客戶端和服務器之間傳輸超文本(例如網頁、圖片、音頻、視頻等)的通信協議。它是萬維網(WWW)的基礎,負責在瀏…