Elasticsearch實(shí)戰(zhàn)
定 價(jià):¥129.8
中 教 價(jià):¥68.79 (5.30折)
庫 存 數(shù): 6
本書全面深入地介紹Elasticsearch的核心功能及其工作機(jī)制。本書由淺入深,從Elasticsearch的基本用法和架構(gòu)原理,以及倒排索引、分片、節(jié)點(diǎn)角色和相關(guān)性等核心概念講起;然后深入探討數(shù)據(jù)處理和索引管理,涵蓋映射模式、數(shù)據(jù)類型、文本分析、索引模板;接著詳細(xì)介紹詞項(xiàng)級(jí)搜索、全文搜索、復(fù)合查詢和高級(jí)搜索等Elasticsearch的搜索功能,并深入講解聚合;最后聚焦生產(chǎn)環(huán)境中的Elasticsearch管理和性能優(yōu)化。本書特別注重實(shí)踐,提供了大量的代碼示例,涵蓋從基礎(chǔ)查詢到復(fù)雜功能的各種應(yīng)用場景。與第1版相比,這一版更新并補(bǔ)充了許多新的功能點(diǎn),如索引生命周期管理、可組合索引模板機(jī)制、地理位置查詢等。 本書是使用Elasticsearch開發(fā)全功能搜索引擎的實(shí)踐指南,適合剛接觸Elasticsearch領(lǐng)域、希望了解其基本工作原理的開發(fā)者、架構(gòu)師、分析師、管理者、產(chǎn)品負(fù)責(zé)人或希望利用Elasticsearch進(jìn)行實(shí)時(shí)數(shù)據(jù)分析和處理的數(shù)據(jù)科學(xué)家閱讀,也適合在實(shí)際項(xiàng)目中遇到挑戰(zhàn)的資深工程師及學(xué)習(xí)大數(shù)據(jù)技術(shù)并對(duì)搜索技術(shù)感興趣的學(xué)生和研究人員閱讀。
[英]馬杜蘇丹·孔達(dá)(Madhusudhan Konda)是全棧首席工程師、架構(gòu)師,也是技術(shù)導(dǎo)師和會(huì)議演講者。他還是一位頗具盛名的技術(shù)圖書作者,他關(guān)于Java、Spring和Hibernate生態(tài)系統(tǒng)的書廣受讀者歡迎。此外,他還提供有關(guān)Elasticsearch和Elastic Stack的在線培訓(xùn)。
目錄第 1章 概述 11.1 一個(gè)好的搜索引擎是怎樣的 11.2 搜索已成為新常態(tài) 21.2.1 結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化(全文)數(shù)據(jù) 31.2.2 數(shù)據(jù)庫支持的搜索 41.2.3 數(shù)據(jù)庫與搜索引擎 51.3 現(xiàn)代搜索引擎 61.3.1 功能 61.3.2 流行的搜索引擎 71.4 Elasticsearch概述 71.4.1 核心領(lǐng)域 81.4.2 Elastic Stack 91.4.3 Elasticsearch的使用場景 101.4.4 不適合Elasticsearch的使用場景 111.4.5 誤解 121.5 業(yè)界案例 131.6 生成式人工智能與現(xiàn)代搜索 141.7 小結(jié) 16第 2章 開始使用 172.1 往Elasticsearch中導(dǎo)入數(shù)據(jù) 182.1.1 在線書店 182.1.2 索引文檔 192.1.3 索引第 一個(gè)文檔 222.1.4 索引更多文檔 252.2 檢索數(shù)據(jù) 262.2.1 計(jì)算文檔數(shù)量 262.2.2 檢索文檔 272.3 全文搜索 312.3.1 匹配查詢:按作者找書 312.3.2 帶有AND運(yùn)算符的匹配查詢 322.3.3 使用_bulk API索引文檔 342.3.4 多字段搜索 352.3.5 提升結(jié)果 362.3.6 搜索短語 362.3.7 處理缺失單詞的短語 382.3.8 處理拼寫錯(cuò)誤 382.4 詞項(xiàng)級(jí)查詢 392.4.1 term查詢 402.4.2 range查詢 412.5 復(fù)合查詢 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 指標(biāo)聚合 472.6.2 桶聚合 492.7 小結(jié) 52第3章 架構(gòu) 533.1 概述 543.1.1 數(shù)據(jù)導(dǎo)入 543.1.2 數(shù)據(jù)處理 553.1.3 數(shù)據(jù)輸出 583.2 基本組件 583.2.1 文檔 583.2.2 索引 623.2.3 數(shù)據(jù)流 633.2.4 分片和副本 653.2.5 節(jié)點(diǎn)和集群 703.3 倒排索引 753.4 相關(guān)性 773.4.1 相關(guān)性分?jǐn)?shù) 773.4.2 相關(guān)性(相似性)算法 783.5 路由算法 823.6 擴(kuò)展 833.6.1 縱向擴(kuò)展(垂直擴(kuò)展) 833.6.2 橫向擴(kuò)展(水平擴(kuò)展) 843.7 小結(jié) 84第4章 映射 854.1 概述 864.1.1 映射定義 864.1.2 首次索引文檔 874.2 動(dòng)態(tài)映射 894.2.1 推斷類型的機(jī)制 904.2.2 動(dòng)態(tài)映射的局限性 914.3 顯式映射 934.3.1 使用索引API定義映射 944.3.2 使用映射API更新模式 954.3.3 不允許修改現(xiàn)有字段 974.3.4 類型強(qiáng)制轉(zhuǎn)換 984.4 數(shù)據(jù)類型 984.5 核心數(shù)據(jù)類型 1004.5.1 文本數(shù)據(jù)類型 1004.5.2 關(guān)鍵詞數(shù)據(jù)類型 1044.5.3 日期數(shù)據(jù)類型 1064.5.4 數(shù)值數(shù)據(jù)類型 1084.5.5 布爾數(shù)據(jù)類型 1094.5.6 范圍數(shù)據(jù)類型 1104.5.7 IP地址數(shù)據(jù)類型 1114.6 高級(jí)數(shù)據(jù)類型 1124.6.1 geo_point數(shù)據(jù)類型 1124.6.2 object數(shù)據(jù)類型 1144.6.3 nested數(shù)據(jù)類型 1184.6.4 flattened數(shù)據(jù)類型 1204.6.5 join數(shù)據(jù)類型 1224.6.6 search_as_you_type數(shù)據(jù)類型 1244.7 擁有多種數(shù)據(jù)類型的字段 1264.8 小結(jié) 127第5章 處理文檔 1285.1 索引文檔 1295.1.1 文檔API 1295.1.2 索引機(jī)制 1355.1.3 自定義刷新過程 1375.2 檢索文檔 1385.2.1 使用單文檔API 1395.2.2 檢索多個(gè)文檔 1405.2.3 ids查詢 1415.3 操縱響應(yīng) 1425.3.1 從響應(yīng)中移除元數(shù)據(jù) 1425.3.2 抑制源數(shù)據(jù) 1435.3.3 包含或排除字段 1445.4 更新文檔 1465.4.1 文檔更新機(jī)制 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 批量請求處理多個(gè)索引和操作 1615.6.4 使用cURL執(zhí)行批量請求 1625.7 重新索引文檔 1635.8 小結(jié) 164第6章 索引操作 1656.1 概述 1666.2 創(chuàng)建索引 1666.2.1 隱式創(chuàng)建索引(自動(dòng)創(chuàng)建) 1676.2.2 顯式創(chuàng)建索引(手動(dòng)創(chuàng)建) 1706.2.3 自定義索引設(shè)置 1706.2.4 索引映射 1726.2.5 索引別名 1736.3 讀取索引 1776.3.1 讀取公開索引 1776.3.2 讀取隱藏索引 1786.4 刪除索引 1796.4.1 刪除多個(gè)索引 1796.4.2 僅刪除別名 1806.5 關(guān)閉索引和打開索引 1806.5.1 關(guān)閉索引 1806.5.2 打開索引 1816.6 索引模板 1826.6.1 創(chuàng)建可組合(索引)模板 1836.6.2 創(chuàng)建組件模板 1846.7 監(jiān)控和管理索引 1866.7.1 索引的統(tǒng)計(jì)信息 1866.7.2 多個(gè)索引的統(tǒng)計(jì)信息 1886.8 高級(jí)操作 1896.8.1 拆分索引 1896.8.2 縮小索引 1916.8.3 滾動(dòng)更新索引別名 1936.9 索引生命周期管理 1956.9.1 索引生命周期 1966.9.2 手動(dòng)管理索引生命周期 1976.9.3 帶有滾動(dòng)機(jī)制的索引生命周期 1996.10 小結(jié) 202第7章 文本分析 2037.1 概述 2047.1.1 查詢非結(jié)構(gòu)化數(shù)據(jù) 2047.1.2 分析器來拯救 2057.2 分析器模塊 2057.2.1 分詞 2057.2.2 歸一化 2067.2.3 分析器的結(jié)構(gòu) 2067.2.4 測試分析器 2087.3 內(nèi)置分析器 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 小結(jié) 242第8章 搜索簡介 2438.1 概述 2438.2 搜索的工作原理 2448.3 電影樣本數(shù)據(jù) 2458.4 搜索的基礎(chǔ)知識(shí) 2478.4.1 _search端點(diǎn) 2478.4.2 查詢上下文和過濾上下文 2488.5 請求和響應(yīng)的結(jié)構(gòu) 2508.5.1 搜索請求 2508.5.2 搜索響應(yīng) 2518.6 URI搜索 2538.6.1 按片名搜索電影 2538.6.2 搜索特定的電影 2548.6.3 附加參數(shù) 2548.6.4 使用Query DSL支持URI搜索 2558.7 Query DSL 2558.7.1 查詢樣例 2568.7.2 通過cURL調(diào)用Query DSL 2568.7.3 使用Query DSL進(jìn)行聚合 2578.7.4 葉子查詢和復(fù)合查詢 2578.8 搜索功能 2588.8.1 分頁 2598.8.2 高亮顯示 2608.8.3 解釋相關(guān)性分?jǐn)?shù) 2628.8.4 排序 2648.8.5 操縱結(jié)果 2678.8.6 跨索引和數(shù)據(jù)流搜索 2718.9 小結(jié) 272第9章 詞項(xiàng)級(jí)搜索 2739.1 概述 2739.1.1 詞項(xiàng)級(jí)查詢不進(jìn)行分析 2739.1.2 詞項(xiàng)級(jí)查詢示例 2749.2 term查詢 2759.2.1 在text類型的字段上執(zhí)行term查詢 2759.2.2 term查詢示例 2769.2.3 簡化的詞項(xiàng)級(jí)查詢 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 小結(jié) 291第 10章 全文搜索 29210.1 概述 29210.1.1 精確率 29310.1.2 召回率 29310.2 樣本數(shù)據(jù) 29510.3 match_all查詢 29510.3.1 構(gòu)建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 搜索多個(gè)單詞 29910.5.5 至少匹配幾個(gè)單詞 30010.5.6 使用fuzziness關(guān)鍵詞糾正拼寫錯(cuò)誤 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 提升單個(gè)字段的權(quán)重 30810.9 query_string查詢 30910.9.1 query_string查詢中的字段 31010.9.2 默認(rèn)運(yùn)算符 31110.9.3 帶有短語的query_string查詢 31210.10 模糊查詢 31210.11 簡單的字符串查詢 31310.12 simple_query_string查詢 31410.13 小結(jié) 315第 11章 復(fù)合查詢 31611.1 產(chǎn)品樣本數(shù)據(jù) 31711.1.1 產(chǎn)品模式 31711.1.2 索引產(chǎn)品數(shù)據(jù) 31811.2 復(fù)合查詢 31811.3 bool查詢 32011.3.1 bool查詢結(jié)構(gòu) 32011.3.2 must子句 32111.3.3 增強(qiáng)must子句 32211.3.4 must_not子句 32411.3.5 增強(qiáng)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函數(shù) 34411.7.2 script_score函數(shù) 34511.7.3 field_value_factor函數(shù) 34611.7.4 組合函數(shù)分?jǐn)?shù) 34711.8 小結(jié) 348第 12章 高級(jí)搜索 34912.1 位置搜索簡介 35012.1.1 bounding_box查詢 35012.1.2 geo_distance查詢 35112.1.3 geo_shape查詢 35112.2 地理空間數(shù)據(jù)類型 35212.2.1 geo_point數(shù)據(jù)類型 35212.2.2 geo_shape數(shù)據(jù)類型 35312.3 地理空間查詢 35512.4 geo_bounding_box查詢 35512.5 geo_distance查詢 35912.6 geo_shape查詢 36012.7 shape查詢 36212.8 span查詢 36412.8.1 樣本數(shù)據(jù) 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 小結(jié) 381第 13章 聚合 38213.1 概述 38213.1.1 端點(diǎn)和語法 38313.1.2 結(jié)合搜索和聚合 38313.1.3 多重聚合和嵌套聚合 38413.1.4 忽略結(jié)果 38413.2 指標(biāo)聚合 38513.2.1 樣本數(shù)據(jù) 38513.2.2 value_count指標(biāo) 38613.2.3 avg指標(biāo) 38713.2.4 sum指標(biāo) 38813.2.5 min指標(biāo)和max指標(biāo) 38813.2.6 stats指標(biāo) 38913.2.7 extended_stats指標(biāo) 39013.2.8 cardinality指標(biāo) 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 樣本數(shù)據(jù) 40413.5.3 管道聚合的語法 40513.5.4 可用的管道聚合 40613.5.5 cumulative_sum父管道聚合 40713.5.6 max_bucket和min_bucket兄弟管道聚合 40813.6 小結(jié) 410第 14章 集群管理 41114.1 擴(kuò)展集群 41214.1.1 向集群中添加節(jié)點(diǎn) 41214.1.2 集群健康 41314.1.3 提高讀吞吐量 41614.2 節(jié)點(diǎn)間通信 41614.3 確定分片大小 41714.3.1 設(shè)置單個(gè)索引 41714.3.2 設(shè)置多個(gè)索引 41814.4 快照 41914.4.1 開始使用 42014.4.2 注冊快照存儲(chǔ)庫 42114.4.3 創(chuàng)建快照 42314.4.4 恢復(fù)快照 42414.4.5 刪除快照 42414.4.6 自動(dòng)化快照 42414.5 高級(jí)配置 42814.5.1 主配置文件 42914.5.2 日志選項(xiàng) 42914.5.3 Java虛擬機(jī)選項(xiàng) 43014.6 集群主節(jié)點(diǎn) 43114.6.1 主節(jié)點(diǎn) 43114.6.2 主節(jié)點(diǎn)選舉 43214.6.3 集群狀態(tài) 43214.6.4 法定人數(shù) 43314.6.5 腦裂問題 43314.6.6 專用主節(jié)點(diǎn) 43414.7 小結(jié) 435第 15章 性能與故障排查 43715.1 搜索與速度問題 43715.1.1 現(xiàn)代硬件 43815.1.2 文檔建模 43815.1.3 選擇keyword類型而不是text類型 44115.2 索引速度問題 44215.2.1 系統(tǒng)生成的ID 44215.2.2 批量請求 44215.2.3 調(diào)整刷新頻率 44215.3 集群不穩(wěn)定問題 44515.3.1 集群狀態(tài)不是綠色 44515.3.2 未分配的分片 44515.3.3 磁盤使用閾值 44715.4 斷路器 44915.5 結(jié)束語 45015.6 小結(jié) 451附錄A 安裝 452附錄B 攝取管道 459附錄C 客戶端 466