Elasticsearch實戰(第2版) 版權信息
- ISBN:9787115654458
- 條形碼:9787115654458 ; 978-7-115-65445-8
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Elasticsearch實戰(第2版) 本書特色
使用Elasticsearch和Kibana打造專業級的搜索引擎!
這是一本注重實踐的書,書中深入探討了Elasticsearch的整體架構,揭示了基礎設施模式,并詳細介紹了眾多Elasticsearch API的搜索功能和分析功能。
本書指導讀者使用Elasticsearch 8為網站和應用添加現代搜索功能,讓讀者可以從安裝和配置集群的基礎知識快速進階到索引文檔、高級聚合,再到將Elasticsearch投入生產。將設計出色的搜索體驗的技術細節與技巧巧妙地結合是本書的一大特點,這一特點必將使讀者對本書愛不釋手。
本書主要內容
● 理解搜索架構。
● 全文搜索查詢和詞項級搜索查詢。
● 分析和聚合。
● Kibana中的高級可視化。
● 配置、擴展和調優集群。
使用Elasticsearch和Kibana打造專業級的搜索引擎!
這是一本注重實踐的書,書中深入探討了Elasticsearch的整體架構,揭示了基礎設施模式,并詳細介紹了眾多Elasticsearch API的搜索功能和分析功能。
本書指導讀者使用Elasticsearch 8為網站和應用添加現代搜索功能,讓讀者可以從安裝和配置集群的基礎知識快速進階到索引文檔、高級聚合,再到將Elasticsearch投入生產。將設計出色的搜索體驗的技術細節與技巧巧妙地結合是本書的一大特點,這一特點必將使讀者對本書愛不釋手。
本書主要內容
● 理解搜索架構。
● 全文搜索查詢和詞項級搜索查詢。
● 分析和聚合。
● Kibana中的高級可視化。
● 配置、擴展和調優集群。
本書適合熟悉腳本和命令行應用的應用開發人員閱讀。
Elasticsearch實戰(第2版) 內容簡介
本書全面深入地介紹Elasticsearch的核心功能及其工作機制。本書由淺入深,從Elasticsearch的基本用法和架構原理,以及倒排索引、分片、節點角色和相關性等核心概念講起;然后深入探討數據處理和索引管理,涵蓋映射模式、數據類型、文本分析、索引模板;接著詳細介紹詞項級搜索、全文搜索、復合查詢和高級搜索等Elasticsearch的搜索功能,并深入講解聚合;*后聚焦生產環境中的Elasticsearch管理和性能優化。本書特別注重實踐,提供了大量的代碼示例,涵蓋從基礎查詢到復雜功能的各種應用場景。與第1版相比,這一版更新并補充了許多新的功能點,如索引生命周期管理、可組合索引模板機制、地理位置查詢等。
本書是使用Elasticsearch開發全功能搜索引擎的實踐指南,適合剛接觸Elasticsearch領域、希望了解其基本工作原理的開發者、架構師、分析師、管理者、產品負責人或希望利用Elasticsearch進行實時數據分析和處理的數據科學家閱讀,也適合在實際項目中遇到挑戰的資深工程師及學習大數據技術并對搜索技術感興趣的學生和研究人員閱讀。
Elasticsearch實戰(第2版) 目錄
目錄第 1章 概述 11.1 一個好的搜索引擎是怎樣的 11.2 搜索已成為新常態 21.2.1 結構化數據與非結構化(全文)數據 31.2.2 數據庫支持的搜索 4目錄第 1章 概述 11.1 一個好的搜索引擎是怎樣的 11.2 搜索已成為新常態 21.2.1 結構化數據與非結構化(全文)數據 31.2.2 數據庫支持的搜索 41.2.3 數據庫與搜索引擎 51.3 現代搜索引擎 61.3.1 功能 61.3.2 流行的搜索引擎 71.4 Elasticsearch概述 71.4.1 核心領域 81.4.2 Elastic Stack 91.4.3 Elasticsearch的使用場景 101.4.4 不適合Elasticsearch的使用場景 111.4.5 誤解 121.5 業界案例 131.6 生成式人工智能與現代搜索 141.7 小結 16第 2章 開始使用 172.1 往Elasticsearch中導入數據 182.1.1 在線書店 182.1.2 索引文檔 192.1.3 索引第 一個文檔 222.1.4 索引更多文檔 252.2 檢索數據 262.2.1 計算文檔數量 262.2.2 檢索文檔 272.3 全文搜索 312.3.1 匹配查詢:按作者找書 312.3.2 帶有AND運算符的匹配查詢 322.3.3 使用_bulk API索引文檔 342.3.4 多字段搜索 352.3.5 提升結果 362.3.6 搜索短語 362.3.7 處理缺失單詞的短語 382.3.8 處理拼寫錯誤 382.4 詞項級查詢 392.4.1 term查詢 402.4.2 range查詢 412.5 復合查詢 412.5.1 bool查詢 422.5.2 must子句 432.5.3 must_not子句 442.5.4 should子句 442.5.5 filter子句 452.6 聚合 462.6.1 指標聚合 472.6.2 桶聚合 492.7 小結 52第3章 架構 533.1 概述 543.1.1 數據導入 543.1.2 數據處理 553.1.3 數據輸出 583.2 基本組件 583.2.1 文檔 583.2.2 索引 623.2.3 數據流 633.2.4 分片和副本 653.2.5 節點和集群 703.3 倒排索引 753.4 相關性 773.4.1 相關性分數 773.4.2 相關性(相似性)算法 783.5 路由算法 823.6 擴展 833.6.1 縱向擴展(垂直擴展) 833.6.2 橫向擴展(水平擴展) 843.7 小結 84第4章 映射 854.1 概述 864.1.1 映射定義 864.1.2 首次索引文檔 874.2 動態映射 894.2.1 推斷類型的機制 904.2.2 動態映射的局限性 914.3 顯式映射 934.3.1 使用索引API定義映射 944.3.2 使用映射API更新模式 954.3.3 不允許修改現有字段 974.3.4 類型強制轉換 984.4 數據類型 984.5 核心數據類型 1004.5.1 文本數據類型 1004.5.2 關鍵詞數據類型 1044.5.3 日期數據類型 1064.5.4 數值數據類型 1084.5.5 布爾數據類型 1094.5.6 范圍數據類型 1104.5.7 IP地址數據類型 1114.6 高級數據類型 1124.6.1 geo_point數據類型 1124.6.2 object數據類型 1144.6.3 nested數據類型 1184.6.4 flattened數據類型 1204.6.5 join數據類型 1224.6.6 search_as_you_type數據類型 1244.7 擁有多種數據類型的字段 1264.8 小結 127第5章 處理文檔 1285.1 索引文檔 1295.1.1 文檔API 1295.1.2 索引機制 1355.1.3 自定義刷新過程 1375.2 檢索文檔 1385.2.1 使用單文檔API 1395.2.2 檢索多個文檔 1405.2.3 ids查詢 1415.3 操縱響應 1425.3.1 從響應中移除元數據 1425.3.2 抑制源數據 1435.3.3 包含或排除字段 1445.4 更新文檔 1465.4.1 文檔更新機制 1465.4.2 _update API 1475.4.3 腳本更新 1485.4.4 替換文檔 1525.4.5 更新插入 1535.4.6 將更新視為更新插入 1545.4.7 通過查詢更新 1555.5 刪除文檔 1565.5.1 通過ID刪除 1565.5.2 通過查詢刪除 1565.5.3 通過range查詢刪除 1575.5.4 刪除所有文檔 1585.6 批量處理文檔 1595.6.1 _bulk API的格式 1595.6.2 批量索引文檔 1605.6.3 批量請求處理多個索引和操作 1615.6.4 使用cURL執行批量請求 1625.7 重新索引文檔 1635.8 小結 164第6章 索引操作 1656.1 概述 1666.2 創建索引 1666.2.1 隱式創建索引(自動創建) 1676.2.2 顯式創建索引(手動創建) 1706.2.3 自定義索引設置 1706.2.4 索引映射 1726.2.5 索引別名 1736.3 讀取索引 1776.3.1 讀取公開索引 1776.3.2 讀取隱藏索引 1786.4 刪除索引 1796.4.1 刪除多個索引 1796.4.2 僅刪除別名 1806.5 關閉索引和打開索引 1806.5.1 關閉索引 1806.5.2 打開索引 1816.6 索引模板 1826.6.1 創建可組合(索引)模板 1836.6.2 創建組件模板 1846.7 監控和管理索引 1866.7.1 索引的統計信息 1866.7.2 多個索引的統計信息 1886.8 高級操作 1896.8.1 拆分索引 1896.8.2 縮小索引 1916.8.3 滾動更新索引別名 1936.9 索引生命周期管理 1956.9.1 索引生命周期 1966.9.2 手動管理索引生命周期 1976.9.3 帶有滾動機制的索引生命周期 1996.10 小結 202第7章 文本分析 2037.1 概述 2047.1.1 查詢非結構化數據 2047.1.2 分析器來拯救 2057.2 分析器模塊 2057.2.1 分詞 2057.2.2 歸一化 2067.2.3 分析器的結構 2067.2.4 測試分析器 2087.3 內置分析器 2097.3.1 standard分析器 2107.3.2 simple分析器 2167.3.3 whitespace分析器 2177.3.4 keyword分析器 2187.3.5 fingerprint分析器 2197.3.6 pattern分析器 2207.3.7 語言分析器 2217.4 自定義分析器 2247.5 指定分析器 2277.5.1 為索引指定分析器 2277.5.2 為搜索指定分析器 2287.6 字符過濾器 2307.6.1 html_strip字符過濾器 2317.6.2 mapping字符過濾器 2327.6.3 pattern_replace字符過濾器 2347.7 分詞器 2357.7.1 standard分詞器 2357.7.2 ngram分詞器和edge_ngram分詞器 2367.7.3 其他分詞器 2387.8 詞元過濾器 2387.8.1 stemmer詞元過濾器 2397.8.2 shingle詞元過濾器 2397.8.3 synonym詞元過濾器 2407.9 小結 242第8章 搜索簡介 2438.1 概述 2438.2 搜索的工作原理 2448.3 電影樣本數據 2458.4 搜索的基礎知識 2478.4.1 _search端點 2478.4.2 查詢上下文和過濾上下文 2488.5 請求和響應的結構 2508.5.1 搜索請求 2508.5.2 搜索響應 2518.6 URI搜索 2538.6.1 按片名搜索電影 2538.6.2 搜索特定的電影 2548.6.3 附加參數 2548.6.4 使用Query DSL支持URI搜索 2558.7 Query DSL 2558.7.1 查詢樣例 2568.7.2 通過cURL調用Query DSL 2568.7.3 使用Query DSL進行聚合 2578.7.4 葉子查詢和復合查詢 2578.8 搜索功能 2588.8.1 分頁 2598.8.2 高亮顯示 2608.8.3 解釋相關性分數 2628.8.4 排序 2648.8.5 操縱結果 2678.8.6 跨索引和數據流搜索 2718.9 小結 272第9章 詞項級搜索 2739.1 概述 2739.1.1 詞項級查詢不進行分析 2739.1.2 詞項級查詢示例 2749.2 term查詢 2759.2.1 在text類型的字段上執行term查詢 2759.2.2 term查詢示例 2769.2.3 簡化的詞項級查詢 2779.3 terms查詢 2779.3.1 terms查詢示例 2789.3.2 terms查找查詢 2799.4 ids查詢 2809.5 exists查詢 2819.6 range查詢 2829.7 wildcard查詢 2849.8 prefix查詢 2869.8.1 簡化查詢 2879.8.2 加速prefix查詢 2889.9 fuzzy查詢 2899.10 小結 291第 10章 全文搜索 29210.1 概述 29210.1.1 精確率 29310.1.2 召回率 29310.2 樣本數據 29510.3 match_all查詢 29510.3.1 構建match_all查詢 29510.3.2 match_all查詢的簡寫格式 29610.4 match_none查詢 29610.5 match查詢 29710.5.1 match查詢的格式 29710.5.2 使用match查詢搜索 29810.5.3 分析match查詢 29810.5.4 搜索多個單詞 29910.5.5 至少匹配幾個單詞 30010.5.6 使用fuzziness關鍵詞糾正拼寫錯誤 30110.6 match_phrase查詢 30110.7 match_phrase_prefix查詢 30310.8 multi_match查詢 30410.8.1 *佳字段 30410.8.2 dis_max查詢 30610.8.3 tie_breaker 30610.8.4 提升單個字段的權重 30810.9 query_string查詢 30910.9.1 query_string查詢中的字段 31010.9.2 默認運算符 31110.9.3 帶有短語的query_string查詢 31210.10 模糊查詢 31210.11 簡單的字符串查詢 31310.12 simple_query_string查詢 31410.13 小結 315第 11章 復合查詢 31611.1 產品樣本數據 31711.1.1 產品模式 31711.1.2 索引產品數據 31811.2 復合查詢 31811.3 bool查詢 32011.3.1 bool查詢結構 32011.3.2 must子句 32111.3.3 增強must子句 32211.3.4 must_not子句 32411.3.5 增強must_not子句 32511.3.6 should子句 32711.3.7 filter子句 33211.3.8 組合所有子句 33411.3.9 命名查詢 33511.4 constant_score查詢 33711.5 boosting查詢 33911.6 dis_max查詢 34111.7 function_score查詢 34311.7.1 random_score函數 34411.7.2 script_score函數 34511.7.3 field_value_factor函數 34611.7.4 組合函數分數 34711.8 小結 348第 12章 高級搜索 34912.1 位置搜索簡介 35012.1.1 bounding_box查詢 35012.1.2 geo_distance查詢 35112.1.3 geo_shape查詢 35112.2 地理空間數據類型 35212.2.1 geo_point數據類型 35212.2.2 geo_shape數據類型 35312.3 地理空間查詢 35512.4 geo_bounding_box查詢 35512.5 geo_distance查詢 35912.6 geo_shape查詢 36012.7 shape查詢 36212.8 span查詢 36412.8.1 樣本數據 36412.8.2 span_first查詢 36512.8.3 span_near查詢 36612.8.4 span_within查詢 36712.8.5 span_or查詢 36912.9 專用查詢 37012.9.1 distance_feature查詢 37012.9.2 pinned查詢 37512.9.3 more_like_this查詢 37612.9.4 percolate查詢 37712.10 小結 381第 13章 聚合 38213.1 概述 38213.1.1 端點和語法 38313.1.2 結合搜索和聚合 38313.1.3 多重聚合和嵌套聚合 38413.1.4 忽略結果 38413.2 指標聚合 38513.2.1 樣本數據 38513.2.2 value_count指標 38613.2.3 avg指標 38713.2.4 sum指標 38813.2.5 min指標和max指標 38813.2.6 stats指標 38913.2.7 extended_stats指標 39013.2.8 cardinality指標 39113.3 桶聚合 39213.3.1 直方圖 39313.3.2 子聚合 39613.3.3 自定義range聚合 39713.3.4 terms聚合 39913.3.5 multi-terms聚合 40013.4 父聚合和兄弟聚合 40113.4.1 父聚合 40213.4.2 兄弟聚合 40313.5 管道聚合 40413.5.1 管道聚合的類型 40413.5.2 樣本數據 40413.5.3 管道聚合的語法 40513.5.4 可用的管道聚合 40613.5.5 cumulative_sum父管道聚合 40713.5.6 max_bucket和min_bucket兄弟管道聚合 40813.6 小結 410第 14章 集群管理 41114.1 擴展集群 41214.1.1 向集群中添加節點 41214.1.2 集群健康 41314.1.3 提高讀吞吐量 41614.2 節點間通信 41614.3 確定分片大小 41714.3.1 設置單個索引 41714.3.2 設置多個索引 41814.4 快照 41914.4.1 開始使用 42014.4.2 注冊快照存儲庫 42114.4.3 創建快照 42314.4.4 恢復快照 42414.4.5 刪除快照 42414.4.6 自動化快照 42414.5 高級配置 42814.5.1 主配置文件 42914.5.2 日志選項 42914.5.3 Java虛擬機選項 43014.6 集群主節點 43114.6.1 主節點 43114.6.2 主節點選舉 43214.6.3 集群狀態 43214.6.4 法定人數 43314.6.5 腦裂問題 43314.6.6 專用主節點 43414.7 小結 435第 15章 性能與故障排查 43715.1 搜索與速度問題 43715.1.1 現代硬件 43815.1.2 文檔建模 43815.1.3 選擇keyword類型而不是text類型 44115.2 索引速度問題 44215.2.1 系統生成的ID 44215.2.2 批量請求 44215.2.3 調整刷新頻率 44215.3 集群不穩定問題 44515.3.1 集群狀態不是綠色 44515.3.2 未分配的分片 44515.3.3 磁盤使用閾值 44715.4 斷路器 44915.5 結束語 45015.6 小結 451附錄A 安裝 452附錄B 攝取管道 459附錄C 客戶端 466
展開全部
Elasticsearch實戰(第2版) 相關資料
“作者的熱情洋溢在這本書的字里行間,無論是內容的深度與廣度、充滿熱情的語調,還是那些實用的示例,無不體現這一點。我希望你能將所學的內容付諸實踐。”——Shay Banon,Elasticsearch 創始人“實用且寫作精良。對初學者來說是一個很好的起點,對經驗豐富的專業人士來說是一本全面的指南。”——Simona Russo,Serendipity 公司
Elasticsearch實戰(第2版) 作者簡介
[英]馬杜蘇丹·孔達(Madhusudhan Konda)是全棧首席工程師、架構師,也是技術導師和會議演講者。他還是一位頗具盛名的技術圖書作者,他關于Java、Spring和Hibernate生態系統的書廣受讀者歡迎。此外,他還提供有關Elasticsearch和Elastic Stack的在線培訓。