-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

ElasticSearch:可擴展的開源彈性搜索解決方案

( 簡體 字)
作者:時金橋,柳廳文,徐菲 張浩亮類別:1. -> 程式設計 -> 搜索引擎
譯者:
出版社:電子工業出版社ElasticSearch:可擴展的開源彈性搜索解決方案 3dWoo書號: 40510
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:1/1/2015
頁數:292
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121252006
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

推薦序
Cool,這是國內第一本介紹ElasticSearch的書!
電子工業出版社邀請我來為這本書作序,非常榮幸也非常慚愧。本人最近2年掉“創業坑”里面不能自拔,每天忙碌于各種瑣事,為ElasticSearch社區所做貢獻實在不多。
在討論組中,經常有人跟我抱怨:ElasticSearch的中文資料實在是太少了,官方的文檔不完整。還有很多人說英文的文檔看起來太費勁了。我曾經嘗試將官方的guide翻譯成中文,但無奈工作繁忙且精力有限,翻譯了幾個章節,然后就沒有然后了。本書的出版,對于廣大ElasticSearch愛好者來說絕對是一個喜訊,相信本書的出版對于ElasticSearch的進一步普及也會帶來很好的幫助。
這本書非常適合初學者閱讀和參考。作者先從介紹常用API的使用開始,由淺入深,隨著后面的不斷深入,不僅詳細介紹了ElasticSearch的各種搜索特性和查詢語法(ElasticSearch真的很強大啊),而且對性能優化和集群管理也做了很多細致的介紹。書中不僅介紹了在使用ElasticSearch過程中可能會遇到的各種問題及相對應的解決辦法,更難能可貴的是還給出了出現這些問題的原因及其背后的原理。相信就算是對搜索及ElasticSearch有過一定了解的同學也能在這本書里面學到很多東西。
本人接觸ElasticSearch不多不少也有4個年頭了,親眼見證了這個產品的飛速發展。ElasticSearch已經從最初的分布式搜索引擎發展成為如今大數據時代下杰出的實時數據分析的解決方案。ElasticSearch旗下的產品線也在不斷地豐富、完善,越來越多的公司和個人都開始考慮使用ElasticSearch作為其用于搭建企業搜索和數據分析工具的首選。可以說ElasticSearch的前景一片光明。而我本人對于ElasticSearch的作者Shay Banon也是非常敬佩的。我接觸ElasticSearch比較早,那個時候ElasticSearch還剛release沒多久,遇到使用上的各種問題都能在IRC聊天室或者郵件組里面很快得到Shay的飛速響應和耐心解答。另外,ElasticSearch的很多設計理念現在看來都是很先進的并且還在一直不斷地進步,真心很“贊”。
這本書針對ElasticSearch的版本是0.20.2。無奈ElasticSearch版本更新太快,尤其是1.0以后,ElasticSearch推出了很多新的功能,如aggregation、snapshot等,但也有一些舊功能的廢除,甚至還有一些API的變動。這些在本書中可能都沒有涉及;不過不要緊,版本變化不可避免,書也很難做到同步,有問題多去社區交流就好了。 :)
Medcl,ElasticSearch中文社區發起人,目前在醫樹網負責后端及運維工作

譯者序
大數據時代已經到來,數據規模正在以前所未有的速度迅速增長。Lucene 是許多互聯網公司的標準搜索引擎,但無法在一個合理的時間內存儲和檢索如此海量的數據,因而不適合大數據和云計算環境。計算機體系結構在數據存儲和搜索方面要求具備強大的水平擴展性,而ElasticSearch致力于改變這一現狀。ElasticSearch因其自身快速、靈活和可擴展的特點在大數據時代得到了迅速的發展。開發的軟件只要換上新一代的搜索引擎搜索數據,即可獲得性能上的突飛猛進。ElasticSearch提供了非常優秀的可擴展框架,以支持大數據程序設計的需求。
ElasticSearch是一個基于Lucene內核構建的,具有開源、分布式、RESTful等特點的搜索引擎,能夠實時搜索,穩定并且可靠。本書全面豐富地介紹了ElasticSearch搜索引擎。無論你是需要全文搜索、結構化數據的實時統計,還是兩者的結合,本書都會幫助你了解其中最基本的概念,從最基本的操作開始學習。然后,逐漸開始探索更加復雜的高級功能,如過濾、統計、高亮、反查等。
本書特色鮮明,作者在介紹ElasticSearch時,仿佛是在跟朋友談論家常,娓娓道來,基本概念的講解細致、深入淺出。各種功能和命令的介紹,都配以實踐操作和詳細的代碼,把ElasticSearch的魅力展現得淋漓盡致。
本書的翻譯工作經過精心的組織,整個過程得到大批專業人士的幫助。在交付出版社之前,譯者團隊經過全書的討論、初譯、初核、再譯、再核,審校等6個環節。其中,柳廳文和時金橋分別負責第1~2章和第3章的翻譯,對保證本書的翻譯質量起到了重要作用;張浩亮翻譯了第4~5章;徐菲翻譯了第6~8章。特別感謝郭莉主任,她應邀審校了全部譯文,提出了很多中肯的改進意見。本書在交到出版社之后,又得到電子工業出版社的大力幫助,他們的工作專業而細致,讓人敬佩。另外,還要感謝西安交通大學的李燁同學、電子科技大學的李全剛同學、中國科學院信息工程研究所的亞靜同學等,他們參與了本書部分內容的翻譯、整理,以及本書代碼的實驗驗證。如果沒有這么多人的辛勤奉獻,這本中譯本很難如期呈現。
由于本書涉及面廣,很多術語較新,且目前尚無固定譯法,因此翻譯難度很大。有時,為一個術語選擇一個恰當的中文譯法,譯者經常反復推敲、討論。但由于譯者水平有限,譯文中難免存在一些問題,真誠地希望讀者朋友們將自己的一些意見或建議發往elasticsearch-server@163.com。

關于作者
Rafał Kuć是一位天生的團隊領導者和軟件開發者。他現在在Sematext Group公司做顧問和軟件工程師,專注于開源技術,如Apache Lucene與Solr、ElasticSearch及Hadoop軟件堆棧。從銀行軟件到電子商務產品,他在不同的軟件公司有超過11年的從業經歷。他主要專注于Java,但是對任何有助于簡單、快速達到目標的工具或程序設計語言都保持開放態度。Rafał還是solr.pl網站的創始人之一,在這里他試圖和大家分享知識,幫助大家解決有關Solr和Lucene的問題。他還在世界各地的各種會議上做講者,例如Lucene Eurocon、Berlin Buzzwords及ApacheCon。
Rafał從2002年起開啟了他的Lucene之旅,但那時他并非對Lucene一見鐘情。當他在2003年年底回到Lucene時,他改變了關于此框架的想法,看到了其在搜索技術方面的潛力。后來Solr出現了,事情就是這樣的。在2010年中,他開始使用ElasticSearch。如今,Lucene、Solr、ElasticSearch和信息檢索是他的主要興趣所在。
Rafał還是Apache Solr 3.1 Cookbook一書的作者,其升級版本Apache Solr 4 Cookbook由Packt Publishing公司出版。



致謝
來自Rafał Kuć的致謝
你拿到的這本書對我來說是一個新的體驗,盡管這并不是我寫過的第一本書。當我們開始寫作時,認為自己能夠把所有我們想要的功能都寫出來,但是在那個時候我們沒有估計到ElasticSearch有多大、寫作需要多少時間。最后,我們不得不對主題進行挑選,希望我們的選擇是明智的,希望你能夠發現本書對你的工作有所幫助。當我在描述一個功能時,我試圖像我希望自己能夠讀到的那樣把它寫出來,所以我希望你能感到這些描述是有用的,是令人感興趣的。
盡管把時鐘撥回,我還是會這樣做;但是寫作本書的那段時間對我的家庭來說并不簡單,尤其是這并不是我在那個時候唯一寫作的書。在那個時候Apache Solr 4 Cookbook一書也在更新。對此受苦最深的是我的夫人Agnes以及我們的兩個可愛的孩子,我們的兒子Philip和我們的女兒Susanna。如果沒有他們的耐心和理解,我是不可能寫作此書的。同時,我也要感謝我的父母和Agnes的父母,感謝他們的支持和幫助。
我希望對所有參與到創建、發展以及維護ElasticSearch和Lucene項目的人表示感謝,感謝他們的工作和激情。沒有他們,本書不可能寫出來。
最后,我要給所有本書的編審人員一個大大的感謝。至少從我的角度來看,他們有益的建議和深刻見解使得本書變得更好。
再一次,感謝你們!

Marek Rogozi?ski是一位擁有10年以上經驗的軟件架構師與顧問。他專攻基于開源項目的解決方案,如Solr和ElasticSearch。
他也是solr.pl網站的共同創始人之一,并在網站上發表有關Solr和Lucene庫的信息和教程。
目前,他擁有Smartupz公司的CTO職位,這家公司是Discourse社交協作軟件的生產商。
來自Marek Rogozi?ski的致謝
這本書的寫作是很辛苦的工作,但也是一個嘗試新事物的好機會。看到隨著時間的增長,越來越多的內容被創作出來,我也感受到ElasticSearch的內容是多么豐富,在有限的內容中描述出它的功能是多么困難。我希望在本書中選中的主題是最重要、最令人感興趣的。
最大的感謝是給所有參與到Lucene和ElasticSearch開發的人們的。這真是一項偉大的工作。
我還想感謝此書的工作團隊。我們順利、迅速地完成了所有的籌備工作,這給我留下了深刻的印象。對于本書的編審,我要給他們特別的感謝,他們給我們提出了一長串的意見和建議。
最后也是最重要的,感謝我所有的朋友,那些勸我寫書的朋友和那些本作品對他們來說是大大驚喜的朋友。





關于編審人員
Ravindra Bharathi在軟件行業工作已經超過10年,涉及不同的領域,如教育、數字媒體營銷/廣告、商業搜索及能源管理系統。他對搜索類應用有濃厚的興趣,包括數據可視化、Mashup及儀表盤。他的博客地址是http://ravindrabharathi.blogspot.com。
Matthew Lee Hinman目前在為高可用系統及基于云的系統開發分布式歸檔系統,開發語言包括Clojure和Java。他樂于為開源軟件做出貢獻,喜歡花時間進行戶外徒步。
Marcelo Ochoa在布宜諾斯艾利斯省中央國立大學(Universidad Nacional del Centro de la Provincia de Buenos Aires)理學院(Facultad de Ciencias Exactas)的系統實驗室工作。他是Scotas.com(一家專注于使用Apache Solr和Oracle提供近實時搜索解決方案的公司)的CTO。他同時承擔大學的教學工作及與Oracle和大數據技術相關的外部項目。他曾經參與了多個 Oracle 相關項目,如 Oracle 手冊和多媒體 CBT 的翻譯。他擁有數據庫、網絡、Web 和 Java 技術背景。在 XML 領域中,他以作為很多個項目的開發者而著稱,包括Apache Cocoon 項目的 DB Generator、開源項目DBPrism和DBPrism CMS、使用Oracle JVM Directory實現的Lucene-Oracle集成,以及在Restlet.org項目中的Oracle XDB Restlet Adapter(一種在數據庫駐留JVM中實現本地REST Web服務的替代方法)。
從2006年起,他成為Oracle ACE項目(Oracle ACE Program)的一員。“Oracle ACE”以其作為Oracle社區中的技術狂熱者與倡導者而著稱,其候選人由Oracle Technology and Applications委員會中的ACE專家們提名。
他是Oracle Database Programming using Java and Web Services(Kuassi Mensah, Digital Press)一書中第17章的作者,也是Professional XML Databases(Kevin Williams, Wrox Press)一書中第21章的作者。




前言
歡迎閱讀本書。在讀本書時,你將被一路帶入一個奇妙的世界—有關ElasticSearch企業搜索服務器提供的全文搜索服務的世界。我們將從對ElasticSearch的總體介紹開始,具體介紹覆蓋了啟動與運行ElasticSearch及如何使用配置文件和REST API對其進行配置等內容。你還將學到如何創建索引結構并提交給ElasticSearch、如何為字段配置不同的分析器,以及如何使用內置數據類型。
在本書中還將討論查詢語言,即所謂的Query DSL,它允許用戶創建復雜的查詢并對返回結果進行過濾。除了上面提到的內容,你還將看到如何使用統計功能來計算查詢返回結果的聚集數據。我們還將實現自動補全功能,學會使用ElasticSearch的空間數據處理能力及預期搜索功能。
最后,本書還將向你展示ElasticSearch管理API的能力,如控制分片部署位置、操縱集群等功能。此外,你還將學到如何處理使用ElasticSearch過程中可能遇到的常見問題。
本書包含的內容
第1章覆蓋了ElasticSearch的安裝和配置、REST API的使用方法、映射配置、路由和索引別名等內容。
第2章討論了Query DSL——基本查詢與復合查詢、過濾、結果排序及使用腳本等內容。
第3章解釋了如何索引非平面數據、如何處理高亮和自動補全,以及如何利用_ttl、_source等內部信息擴展索引結構。
第4章覆蓋了如何影響結果的得分、如何使用同義詞功能,以及處理多語言數據。此外,本章還介紹了如何使用位置感知的查詢及如何檢查文檔被檢索到的原因。
第5章展示了如何索引樹狀結構、使用嵌套對象、處理父子關系、在線更新索引結構、從外部系統獲取數據及利用批量處理加快索引過程等內容。
第6章主要介紹統計功能、相似查詢功能及預期搜索功能。
第7章主要介紹集群管理API及集群監控。在本章中,你還將找到有關外部插件安裝的信息。
第8章將指引你有效獲取大規模結果集、控制集群再平衡、驗證查詢及使用預熱查詢。
你需要為本書做的準備
本書基于ElasticSearch服務器0.20.0寫作而成,書中所有的示例和函數都應當在上面生效。此外,你還需要一個可以發送HTTP請求的命令行工具,如curl,它在絕大部分的操作系統中都有。請注意,本書中所有的示例都使用了提到的curl工具。如果你想要用其他工具,請注意把查詢格式替換為你選擇工具能夠理解的樣式。
此外,一些章節還需要額外的工具,例如ElasticSearch插件或者MongoDB NoSQL數據庫(不過在需要時,書中會明確提到)。
本書面向的讀者
如果你是全文搜索和ElasticSearch的初學者,本書是非常適合你閱讀的。它將指引你學習ElasticSearch的基礎知識,你還將學到一些高級功能。
如果你知道ElasticSearch并且已經使用過它,你將發現本書很吸引人,因為它為所有功能提供了一個很好的綜述,并且還帶有示例和描述。不過,你可能會遇到一些已經知道的內容。
如果你知道Apache Solr搜索引擎,這本書還可以用來比較Apache Solr和 ElasticSearch的部分功能。這將幫助你判定哪個工具更加適合你的應用案例。
如果你已經知道ElasticSearch的所有細節,并且知道每一個配置參數都是如何工作的,那么這本書絕對不是你想要的!
部分約定
在本書中,你將找到若干種形式的文本,用來區分不同類型的信息。這里是這些形式的一些例子及其含義解釋。
文本中的代碼關鍵詞如下所示:“indices對象包含關于library和map索引的信息。primaries對象包含當前節點之上的所有主分片的信息。”
代碼塊顯示如下:

"store" : {
"size" : "7.6kb",
"size_in_bytes" : 7867,
"throttle_time" : "0s",
"throttle_time_in_millis" : 0
}

當我們期望把你的注意力吸引到代碼塊的某一部分時,相關的行或條目會被加粗顯示。

public class HashCodeSortScript extends AbstractSearchScript {
private String field = "name";

public HashCodeSortScript(Map<String, Object> params)

命令行輸入或輸出寫作如下形式:

curl -XPOST ’localhost:9200/_cluster/reroute’ -d ’{
"commands" : [
{"move" : {"index" : "shop", "shard" : 1, "from_node" : "es_node_one", "to_node" : "es_node_two"}},
{"cancel" : {"index" : "shop", "shard" : 0, "node" : "es_node_one"}}

新的詞條與重要詞語會被加粗顯示。

警告或重要的注釋文字將以加灰底的形式顯示。
提示和技巧看上去是這個樣子的。
內容簡介:

本書基于ElasticSearch的0.2版本,覆蓋了ElasticSearch各種功能和命令的應用,全面、詳細地介紹了開源、分布式、RESTful,具有全文檢索功能的搜索引擎ElasticSearch。
本書前兩章著重介紹了ElasticSearch的基本功能和用法,包括ElasticSearch的安裝和配置、REST API的使用方法,以及怎樣使用Query DSL語句進行查詢、過濾、排序等。接下來的4章是對ElasticSearch基本功能的擴展,主要介紹了如何使用統計功能來計算查詢返回結果的聚集數據、如何實現自動補全功能、如何使用ElasticSearch的空間數據處理能力,以及如何使用預期搜索功能等。第7章介紹了ElasticSearch管理API的能力,如控制分片部署位置、操縱集群等功能。在第8章將學習到如何處理使用ElasticSearch過程中可能遇到的常見問題。
本書內容豐富、全面,基本概念的講解細致、深入淺出。各種功能和命令的介紹,都配以實踐操作和詳細的代碼。

目錄:

第1章 ElasticSearch集群入門 1
1.1 什么是ElasticSearch 1
1.1.1 索引 2
1.1.2 文檔 2
1.1.3 文檔類型 2
1.1.4 節點和集群 3
1.1.5 分片 3
1.1.6 副本 3
1.2 安裝和配置ElasticSearch集群 3
1.3 目錄結構 4
1.4 配置ElasticSearch 4
1.5 運行ElasticSearch 5
1.6 關閉ElasticSearch 7
1.7 作為系統服務運行ElasticSearch 8
1.8 基于REST API的數據操作 8
1.8.1 什么是REST 8
1.8.2 在ElasticSearch中存儲數據 9
1.8.3 創建新文檔 9
1.8.4 檢索文檔 11
1.8.5 更新文檔 12
1.8.6 刪除文檔 13
1.9 手工創建索引與配置映射 13
1.9.1 索引 14
1.9.2 文檔類型 14
1.9.3 索引操作 14
1.9.4 模式映射 15
1.10 動態映射和模板 28
1.10.1 類型確定機制 28
1.10.2 動態映射 31
1.10.3 模板 32
1.11 路由選擇的重要性 34
1.11.1 如何進行索引 34
1.11.2 搜索是如何工作的 35
1.11.3 路由選擇 37
1.11.4 routing參數 38
1.11.5 _routing字段 38
1.12 索引別名及其用途 39
1.12.1 別名的定義 40
1.12.2 創建別名 40
1.12.3 修改別名 41
1.12.4 兩種命令的組合 41
1.12.5 獲得所有的別名 41
1.12.6 過濾別名 42
1.12.7 別名和路由選擇 43
1.13 本章小結 43
第2章 搜索數據 44
2.1 查詢和索引的過程 44
2.2 本章案例使用的映射 45
2.3 查詢ElasticSearch 47
2.3.1 簡單查詢 48
2.3.2 分頁和結果規模 50
2.3.3 返回版本號 50
2.3.4 限制結果分數 52
2.3.5 指定返回字段 53
2.3.6 使用script_fields 55
2.3.7 選擇合適的搜索類型(高級選項) 57
2.3.8 指定搜索執行的位置(高級選項) 58
2.4 基本查詢 58
2.4.1 term查詢 59
2.4.2 terms查詢 60
2.4.3 match查詢 60
2.4.4 multi_match查詢 62
2.4.5 query_string查詢 63
2.4.6 field查詢 66
2.4.7 ids查詢 67
2.4.8 prefix查詢 68
2.4.9 fuzzy_like_this查詢 68
2.4.10 fuzzy_like_this_field查詢 69
2.4.11 fuzzy查詢 70
2.4.12 match_all查詢 71
2.4.13 wildcard查詢 72
2.4.14 more_like_this查詢 73
2.4.15 more_like_this_field查詢 74
2.4.16 range查詢 75
2.4.17 查詢重寫 75
2.5 過濾查詢結果 76
2.5.1 使用過濾器 77
2.5.2 range過濾器 78
2.5.3 exists過濾器 80
2.5.4 missing過濾器 80
2.5.5 script過濾器 81
2.5.6 type過濾器 81
2.5.7 limit過濾器 81
2.5.8 ids過濾器 82
2.5.9 其他功能 82
2.5.10 bool、and、or和not過濾器 83
2.5.11 過濾器的命名 84
2.5.12 過濾器的緩存 87
2.6 復合查詢 87
2.6.1 bool查詢 88
2.6.2 boosting查詢 89
2.6.3 constant_score查詢 90
2.6.4 indices查詢 90
2.6.5 custom_filters_score查詢 91
2.6.6 custom_boost_factor查詢 93
2.6.7 custom_score查詢 93
2.7 數據排序 94
2.7.1 默認排序 94
2.7.2 選擇用于排序的字段 95
2.7.3 指定缺失字段的行為 97
2.7.4 動態標準 97
2.7.5 排序歸類和不同國家的字符 98
2.8 使用腳本 98
2.8.1 腳本中可用的對象 99
2.8.2 MVEL 100
2.8.3 其他語言 100
2.8.4 腳本庫 101
2.8.5 本地代碼 102
2.9 本章小結 104
第3章 擴展結構與搜索 105
3.1 索引非平面數據 105
3.1.1 數據 106
3.1.2 對象 106
3.1.3 數組 107
3.1.4 映射 107
3.1.5 開啟還是關閉動態映射 109
3.1.6 向ElasticSearch發送映射文件 110
3.2 利用額外的內部信息擴展索引結構 111
3.2.1 標識符字段 111
3.2.2 _type字段 113
3.2.3 _all字段 113
3.2.4 _source字段 114
3.2.5 _boost字段 115
3.2.6 _index字段 115
3.2.7 _size字段 116
3.2.8 _timestamp字段 117
3.2.9 _ttl字段 118
3.3 高亮 119
3.3.1 高亮功能入門 120
3.3.2 字段配置 121
3.3.3 底層實現 121
3.3.4 配置HTML標簽 122
3.3.5 控制高亮片段 123
3.3.6 全局與局部設置 123
3.3.7 僅顯示匹配字段 124
3.4 自動補全 127
3.4.1 prefix查詢 128
3.4.2 edgeNGram 128
3.4.3 統計 131
3.5 處理文件 134
3.6 地理信息 138
3.6.1 為空間搜索準備映射 138
3.6.2 示例數據 139
3.6.3 示例查詢 139
3.6.4 geo_bounding_box過濾器 141
3.6.5 限定距離 143
3.7 本章小結 144
第4章 搜索優化 145
4.1 為什么文檔被檢索到 145
4.1.1 理解字段分析過程 146
4.1.2 解釋查詢 148
4.2 用加權查詢影響得分 149
4.2.1 什么是權值(boost) 149
4.2.2 在查詢中使用權值 150
4.2.3 修改打分 153
4.3 什么時候索引時加權有意義 162
4.3.1 在輸入數據中定義字段加權 162
4.3.2 在輸入數據中對文檔加權 162
4.3.3 在映射中定義加權 163
4.4 具有相同含義的詞 163
4.4.1 同義詞(synonym)過濾器 164
4.4.2 定義同義詞規則 165
4.4.3 查詢時或索引時同義詞擴展 167
4.5 搜索不同語言的內容 167
4.5.1 為什么我們需要對語言區分處理 167
4.5.2 如何處理多種語言 168
4.5.3 檢測文檔的語言 168
4.5.4 示例文檔 169
4.5.5 映射 169
4.5.6 查詢 171
4.6 使用跨度查詢 174
4.6.1 什么是跨度 175
4.6.2 span_term查詢 175
4.6.3 span_first查詢 176
4.6.4 span_near查詢 177
4.6.5 span_or查詢 179
4.6.6 span_not查詢 181
4.6.7 性能考慮 182
4.7 本章小結 182
第5章 組合索引、分析和搜索 183
5.1 索引樹形結構 183
5.2 利用更新API修改索引結構 186
5.2.1 映射 186
5.2.2 添加一個新字段 186
5.2.3 修改字段 187
5.3 使用嵌套對象 188
5.4 使用父子關系 192
5.4.1 映射和索引 192
5.4.2 查詢 194
5.4.3 父子關系和過濾 196
5.4.4 性能考慮 196
5.5 從其他系統獲取數據:river 196
5.5.1 我們需要什么和river是什么 196
5.5.2 安裝和配置river 197
5.6 批量索引以加快索引過程 200
5.6.1 如何準備數據 200
5.6.2 索引數據 201
5.6.3 是否有可能更快 203
5.7 本章小結 203
第6章 搜索之外 204
6.1 統計 204
6.1.1 文檔結構 205
6.1.2 返回結果 205
6.1.3 query統計 206
6.1.4 filter統計 207
6.1.5 terms統計 208
6.1.6 range統計 210
6.1.7 histogram統計 212
6.1.8 statistical統計 214
6.1.9 terms_stats統計 216
6.1.10 geo_distance統計 217
6.1.11 過濾統計結果 218
6.1.12 統計計算范圍 219
6.1.13 統計計算的內存考慮 222
6.2 相似(More Like This) 223
6.2.1 示例數據 223
6.2.2 發現相似文檔 223
6.3 反查 225
6.3.1 準備反查器 225
6.3.2 深入學習 228
6.4 本章小結 229
第7章 管理集群 230
7.1 監控集群狀態與健康狀況 230
7.1.1 集群健康API 231
7.1.2 索引統計API 233
7.1.3 狀態API 235
7.1.4 節點信息API 236
7.1.5 節點狀態API 237
7.1.6 集群狀態API 237
7.1.7 索引分段API 238
7.2 控制分片和副本的分配 238
7.2.1 顯式控制分配 238
7.2.2 集群范圍內分配 240
7.2.3 每個節點上的分片和副本數量 241
7.2.4 手動移動分片和副本 241
7.3 實例和集群狀態診斷工具 243
7.3.1 Bigdesk插件 243
7.3.2 elasticsearch-head插件 244
7.3.3 elasticsearch-paramedic插件 245
7.3.4 SPM工具 246
7.4 ElasticSearch時光機 247
7.4.1 網關模塊 247
7.4.2 恢復控制 250
7.5 節點探索 251
7.5.1 探索類型 251
7.5.2 主節點 251
7.5.3 設置集群名稱 253
7.5.4 配置多播 253
7.5.5 配置單播 253
7.5.6 節點ping設置 254
7.6 ElasticSearch插件 254
7.6.1 安裝插件 254
7.6.2 刪除插件 255
7.6.3 插件類型 255
7.7 本章小結 256
第8章 問題處理 257
8.1 為什么靠后頁面中的結果會比較慢 257
8.1.1 問題是什么 258
8.1.2 滾動(scrolling)機制來救急 258
8.2 控制集群再平衡 260
8.2.1 什么是再平衡 261
8.2.2 集群何時準備就緒 261
8.2.3 集群再平衡設置 261
8.3 驗證查詢 263
8.4 預熱(warming up) 265
8.4.1 定義一個新的預熱查詢 266
8.4.2 獲取已定義的預熱查詢 267
8.4.3 刪除一個預熱查詢 269
8.4.4 關閉預熱功能 269
8.4.5 如何選擇預熱查詢 269
8.5 本章小結 270
序: