Elasticsearch 參考指南(目錄)

Elasticsearch 參考指南

Elasticsearch是一個高度可擴展的開源全文搜索和分析引擎,它容許你快速,近實時地存儲,搜索和分析大量數據,它一般用做底層引擎/技術,爲具備複雜搜索功能和要求的應用程序提供支持。node

入門

Elasticsearch既簡單又複雜,到目前爲止,咱們已經瞭解了它的基礎知識,如何查看它,以及如何使用一些REST API來使用它,但願本教程能讓你更好地瞭解Elasticsearch的內容,更重要的是,啓發你進一步嘗試其他的強大功能!segmentfault

設置Elasticsearch

本節包含有關如何設置Elasticsearch並使其運行的信息,包括:下載,安裝,啓動,配置。緩存

支持的平臺

官方支持的操做系統和JVM矩陣可在此處得到:支持矩陣,Elasticsearch在列出的平臺上進行了測試,但它也可能在其餘平臺上運行。安全

升級Elasticsearch

API約定

Elasticsearch經過HTTP使用JSON公開REST API。app

除非另有說明,本章列出的約定能夠在整個REST API中應用。elasticsearch

基於URL的訪問控制

許多用戶使用基於url的訪問控制的代理來安全訪問Elasticsearch索引,對於多搜索、多獲取和批量請求,用戶能夠選擇在URL中以及在請求體中的每一個請求上指定索引,這可能使基於url的訪問控制具備挑戰性。函數

爲了防止用戶覆蓋URL中指定的索引,將此設置添加到elasticsearch.yml文件中:測試

rest.action.multi.allow_explicit_index: false

默認值爲true,但當設置爲false時,Elasticsearch將拒絕在請求體中指定的顯式索引的請求。url

文檔 API

本節首先簡要介紹Elasticsearch的數據複製模型,而後詳細介紹如下CRUD API。

全部CRUD API都是單索引API, index參數接受單個索引名,或指向單個索引的別名。

搜索 API

  • Search API
  • URI搜索
  • 請求體搜索
  • 搜索模板
  • 批量搜索模板
  • 搜索碎片API
  • Suggesters
  • 多搜索API
  • Count API
  • 驗證API
  • 解釋API
  • 分析API
  • Field Capabilities API
  • 排名評估API

聚合

指標聚合

這個系列中的聚合基於以某種方式從正在聚合的文檔中提取的值計算指標,這些值一般從文檔的字段中提取(使用字段數據),但也可使用腳本生成。

數值指標聚合是輸出數值的一種特殊類型的指標聚合,一些聚合輸出單個數值指標(例如avg),稱爲single-value numeric metrics aggregation,另外一些聚合生成多個指標(例如stats),稱爲multi-value numeric metrics aggregation,當這些聚合充當一些桶聚合的直接子聚合時,單值和多值數字指標聚合之間的區別就發揮了做用(一些桶聚合使你可以根據每一個桶中的數字指標對返回的桶進行排序)。

  • Avg聚合
  • 加權平均聚合
  • 基數聚合
  • 擴展的統計聚合
  • 地理邊界聚合
  • 地理重心聚合
  • Max聚合

桶聚合

桶聚合不像指標聚合那樣在字段上計算指標,而是建立文檔桶,每一個桶都與一個標準相關聯(取決於聚合類型),這決定當前上下文中的文檔是否「落入」它,換句話說,桶有效地定義了文檔集,除了桶自己以外,bucket聚合還計算並返回「落入」每一個桶中的文檔數量。

metrics聚合相反,桶聚合能夠包含子聚合,這些子聚合將聚合它們的「父」桶聚合建立的桶。

有不一樣的桶聚合器,每一個聚合器都有不一樣的「bucketing」策略,一些定義單個桶,一些定義固定數量的多個桶,還有一些在聚合過程當中動態建立桶。

單個響應中容許的最大桶數受到名爲 search.max_buckets的動態集羣設置的限制,默認狀況下它是禁用的( -1),可是試圖返回超過10,000個桶(將來版本的默認值)的請求將記錄一個棄用警告。
  • 鄰接矩陣聚合
  • 子聚合
  • 合成聚合
  • 日期直方圖聚合
  • 日期範圍聚合
  • 多樣化的取樣器聚合
  • 過濾器聚合
  • 地理距離聚合
  • GeoHash網格聚合
  • 全局聚合
  • 直方圖聚合
  • IP範圍聚合

  • 管道聚合

    • Avg桶聚合
    • 導數聚合
    • Max桶聚合
    • Min桶聚合
    • Sum桶聚合

  • 矩陣聚合
  • 緩存重聚合
  • 僅返回聚合結果
  • 聚合元數據
  • 返回聚合的類型

索引API

索引API用於管理各個索引,索引設置,別名,映射和索引模板。

  • 建立索引
  • 刪除索引
  • 獲取索引
  • 索引是否存在
  • 打開/關閉索引API
  • 收縮索引
  • 分割索引
  • 滾動索引
  • Put Mapping
  • 獲取映射
  • 獲取字段映射
  • 類型是否存在
  • 索引別名
  • 更新索引設置
  • 獲取設置
  • 分析
  • 索引模板
  • 索引統計
  • 索引段
  • 索引恢復
  • 索引碎片存儲
  • 清除緩存
  • Flush
  • 刷新
  • 強制合併

cat API

  • cat別名
  • cat分配
  • cat count
  • cat字段數據
  • cat健康
  • cat索引
  • cat master
  • cat nodeattrs
  • cat節點
  • cat掛起的任務
  • cat插件
  • cat recovery
  • cat倉庫
  • cat線程池
  • cat碎片
  • cat片斷
  • cat快照
  • cat模版

集羣API

  • 集羣健康
  • 集羣狀態
  • 集羣統計
  • 待處理的集羣任務
  • 集羣從新路由
  • 集羣更新設置
  • 集羣獲取設置
  • 節點統計
  • 節點信息
  • 節點特性用法
  • 遠程集羣信息
  • 任務管理API
  • 節點hot_threads
  • 集羣分配解釋API

查詢DSL

Elasticsearch提供基於JSON的完整的查詢DSL(領域特定語言)來定義查詢,將查詢DSL看做查詢的AST(抽象語法樹),由兩種類型的子句組成:

葉查詢子句 - 葉查詢子句查找特定字段中的特定值,例如matchtermrange查詢,這些查詢能夠被它本身使用。

複合查詢子句 - 複合查詢子句包裝其餘葉子或複合查詢,並用於以邏輯方式組合多個查詢(如booldis_max查詢),或更改其行爲(如constant_score查詢)。

查詢子句的行爲取決於它們是用於查詢上下文仍是過濾器上下文。

映射

分析

  • 分析器解析
  • 測試分析器
  • 分析器
  • 正常化
  • 分詞器
  • Token過濾器
  • 字符過濾器

模塊

  • 集羣
  • 發現
  • 本地網關
  • HTTP
  • 索引
  • 網絡設置
  • 節點
  • 插件
  • 腳本

    • 如何使用腳本
    • 訪問文檔字段和特殊變量
    • 腳本和安全性
    • Lucene表達式語言
    • 使用腳本引擎的高級腳本
  • 快照和恢復
  • 線程池
  • 傳輸
  • 部落節點
  • 跨集羣搜索

索引模塊

SQL訪問

  • 概述
  • 開始使用SQL
  • 約定和術語
  • 安全
  • SQL REST API
  • SQL Translate API
  • SQL CLI
  • SQL JDBC
  • SQL語言
  • 數據類型
  • SQL命令
  • 函數和運算符
  • 保留關鍵字

重要更改

發佈說明

  • Elasticsearch版本6.4.2
相關文章
相關標籤/搜索