全部產品
Search
文件中心

Elasticsearch:使用BSearch-QueryBuilder外掛程式查詢資料

更新時間:Jun 30, 2024

BSearch-QueryBuilder又稱進階查詢,是一個純前端的工具外掛程式。通過BSearch-QueryBuilder外掛程式,您無需編寫複雜的DSL語句,即可以可視化的方式完成複雜的查詢請求。本文介紹如何使用BSearch-QueryBuilder外掛程式查詢資料。

前提條件

您已完成以下操作:

背景資訊

Query DSL是一個Java開源架構,用於構建安全類型的SQL查詢語句,能夠使用API代替傳統的拼接字串來構造查詢語句。目前Query DSL支援的平台包括JPA、JDO、SQL、Java Collections、RDF、Lucene以及Hibernate Search。

Elasticsearch提供了一整套基於JSON的DSL查詢語言來定義查詢。Query DSL是由一系列抽象的查詢運算式組成,特定查詢能夠包含其它的查詢(如bool),部分查詢能夠包含過濾器(如constant_score),還有的可以同時包含查詢和過濾器(如 filtered)。您可以從Elasticsearch支援的查詢集合裡面選擇任意一個查詢運算式,或者從過濾器集合裡面選擇任意一個過濾器進行組合,構造出複雜的查詢。但編寫DSL容易出錯,僅有少數專業程式人員精通,QueryBuilder能夠協助對Elasticsearch DSL不甚瞭解或者想提升編寫效率的使用者快速產生DSL。BSearch-QueryBuilder外掛程式背景資訊
BSearch-QueryBuilder外掛程式具有如下特性:
  • 簡單易用:BSearch-QueryBuilder外掛程式提供了可視化的介面點選操作來構造Elasticsearch的DSL查詢請求,無編碼即可完成自訂條件的資料查詢,減少了複雜的DSL的學習成本。也可輔助開發人員編寫或驗證DSL語句的正確性。
  • 方便快捷:已經定義的複雜查詢條件會儲存在Kibana中,避免重複構造查詢條件。
  • 小巧輕盈:約佔用14MB的磁碟空間,不會常駐記憶體運行,不影響Kibana和Elasticsearch的正常運行。
  • 安全可靠:BSearch-QueryBuilder外掛程式不會對使用者的資料進行改寫、儲存和轉寄,原始碼已經通過了阿里雲安全審計。
說明 僅6.3和6.7版本的Elasticsearch執行個體支援BSearch-QueryBuilder外掛程式。

操作步驟

  1. 登入對應Elasticsearch執行個體的Kibana控制台。
    具體操作,請參見登入Kibana控制台
  2. 可選:在左側導覽列,單擊Management,按照以下步驟建立一個索引模式。
    重要 如果已經建立了索引模式,可忽略此步驟。
    1. Management頁面,單擊Kibana地區中的Index Patterns
    2. Create index pattern頁面,輸入索引模式名稱(待查詢的索引名稱)。
    3. 單擊Next step
      建立索引模式
    4. 單擊Create index pattern
  3. 在左側導覽列,單擊Discover
  4. Discover頁面,單擊右上方功能表列的Query
  5. 在查詢地區添加查詢和過濾條件,單擊Submit(提交)。
    查詢結果
    • 單擊查詢條件表徵圖,添加一個查詢條件。
    • 單擊添加一個子過濾條件表徵圖,為查詢添加一個子過濾條件。
    • 單擊刪除一個查詢或過濾條件表徵圖,刪除一個查詢或過濾條件。
    BSearch-QueryBuilder支援模糊查詢、多條件組合查詢和自訂時間範圍查詢等多種查詢方式,查詢樣本如下:
    • 模糊查詢
      下圖中表示對email這個條件進行模糊查詢,並要求email模糊比對iga模糊查詢
      最終得到的匹配結果如下。查詢結果
    • 多條件組合查詢
      下圖的查詢條件表示index必須為tryme_book,同時要對type 進行過濾。要求type等於大學教輔數學對外漢語教學大學教材多條件組合查詢
      最終得到的匹配結果如下。匹配結果
    • 自訂時間範圍查詢
      當您需要對時間欄位進行篩選時,可使用時間類型的篩選功能。下圖中對utc_time進行時間範圍篩選,查詢[目前時間-240天,目前時間]範圍內的資料。自訂時間範圍查詢
      最終得到的匹配結果如下。匹配結果