Elasticsearch搜索集群系统在生产和生活中发挥着越来越重要的作用。本书介绍了Elasticsearch的使用、原理、系统优化与扩展应用。本书用例子说明了Java、Python、Scala和PHP的编程API,其中在Java搜索界面实现上,介绍了使用Spring实现微服务开发。为了扩展Elasticsearch的功能,本书以中文分词和英文文本分析为例介绍了插件开发方法。本书介绍了使用Elasticsearch作为数据管理平台的日志监控与分析方法,介绍了使用OCR从图像中提取文本以及问答式搜索的开发方法。
第1章 使用Elasticsearch 1
1.1 基本概念 1
1.2 安装 2
1.3 搜索集群 5
1.4 创建索引 6
1.5 使用Java客户端接口 9
1.5.1 创建索引 11
1.5.2 增加、删除与修改数据 14
1.5.3 分析器 16
1.5.4 数据导入 17
1.5.5 通过摄取快速导入数据 17
1.5.6 索引库结构 17
1.5.7 查询 18
1.5.8 区间查询 22
1.5.9 排序 23
1.5.10 分布式搜索 23
1.5.11 过滤器 24
1.5.12 高亮显示 24
1.5.13 分页 25
1.5.14 通过聚合实现分组查询 26
1.5.15 文本列的聚合 27
1.5.16 遍历数据 28
1.5.17 索引文档 29
1.5.18 Percolate 29
1.6 RESTClient 30
1.6.1 使用摄取 31
1.6.2 代码实现摄取 33
1.7 使用Jest 33
1.8 Python客户端 37
1.9 Scala客户端 40
1.10 PHP客户端 43
1.11 SQL支持 44
1.12 本章小结 48
第2章 开发插件 49
2.1 搜索中文 49
2.1.1 中文分词原理 49
2.1.2 中文分词插件原理 51
2.1.3 开发中文分词插件 53
2.1.4 中文AnalyzerProvider 55
2.1.5 字词混合索引 57
2.2 搜索英文 60
2.2.1 句子切分 60
2.2.2 标注词性 62
2.3 使用测试套件 64
2.4 本章小结 68
第3章 管理搜索集群 69
3.1 节点类型 69
3.2 管理集群 69
3.3 写入权限控制 70
3.4 使用X-Pack 71
3.5 快照 72
3.6 Zen发现机制 73
3.7 联合搜索 74
3.8 缓存 74
3.9 本章小结 75
第4章 源码分析 76
4.1 Lucene源码分析 76
4.1.1 Ivy管理依赖项 76
4.1.2 源码结构介绍 76
4.2 Gradle 77
4.3 Guice 77
4.4 Joda-Time 79
4.5 Transport 80
4.6 线程池 80
4.7 模块 80
4.8 Netty 81
4.9 分布式 81
4.10 本章小结 82
第5章 搜索相关性 83
5.1 BM25检索模型 83
5.1.1 使用BM25检索模型 86
5.1.2 参数调优 86
5.2 学习评分 86
5.2.1 基本原理 87
5.2.2 准备数据 87
5.2.3 Elasticsearch学习排名 89
5.3 本章小结 91
第6章 搜索引擎用户界面 92
6.1 JSP实现搜索界面 92
6.1.1 用于显示搜索结果的自定义标签 93
6.1.2 使用Listlib 98
6.1.3 实现翻页 100
6.2 使用Spring实现的搜索界面 102
6.2.1 实现REST搜索界面 102
6.2.2 REST API中的HTTP PUT 104
6.2.3 Spring-data-elasticsearch 106
6.2.4 Spring HATEOAS 112
6.3 实现搜索接口 113
6.3.1 编码识别 113
6.3.2 布尔搜索 116
6.3.3 搜索结果排序 116
6.4 实现相似文档搜索 117
6.5 实现AJAX搜索联想词 119
6.5.1 估计查询词的文档频率 119
6.5.2 搜索联想词总体结构 119
6.5.3 服务器端处理 120
6.5.4 浏览器端处理 125
6.5.5 拼音提示 127
6.5.6 部署总结 127
6.5.7 Suggester 128
6.6 推荐搜索词 129
6.6.1 挖掘相关搜索词 130
6.6.2 使用多线程计算相关搜索词 132
6.7 查询意图理解 133
6.7.1 拼音搜索 133
6.7.2 无结果处理 133
6.8 集成其他功能 134
6.8.1 拼写检查 134
6.8.2 分类统计 135
6.8.3 相关搜索 141
6.8.4 再次查找 144
6.8.5 搜索日志 144
6.9 查询分析 146
6.9.1 历史搜索词记录 146
6.9.2 日志信息过滤 147
6.9.3 信息统计 148
6.9.4 挖掘日志信息 150
6.9.5 查询词意图分析 150
6.10 部署网站 150
6.10.1 部署到Web服务器 151
6.10.2 防止攻击 152
6.11 本章小结 156
第7章 OCR文字识别 157
7.1 Tesseract 157
7.2 使用TensorFlow识别文字 161
7.3 OpenCV 164
7.3.1 预处理 166
7.3.2 文字区域提取 169
7.3.3 纠正偏斜 171
7.3.4 Linux环境支持 172
7.4 JavaCV 172
7.5 本章小结 174
第8章 问答式搜索 176
8.1 生成表示语义的代码 176
8.2 信息整合 181
8.2.1 实体对齐 181
8.2.2 编辑距离 181
8.2.3 Jaro-Winkler距离 187
8.2.4 比较器 189
8.2.5 Cleaner 189
8.2.6 运行过程 190
8.2.7 遗传算法调整参数 192
8.3 自动问答 193
8.3.1 问句处理器 193
8.3.2 自动发现答案 198
8.4 本章小结 199
第9章 Elastic系统监控 201
9.1 Logstash 201
9.1.1 使用Logstash 201
9.1.2 插件 203
9.1.3 数据库输入插件 206
9.2 Filebeat 207
9.3 消息过期 208
9.4 Kibana 208
9.5 Flume 209
9.6 Kafka 210
9.7 Graylog 211
9.8 物联网数据 215
9.9 本章小结 216
智慧生物的大规模协作造就了惊人的进化奇迹。大规模机器集群造就机器系统进化成为强大的智能系统。Elasticsearch作为大数据与搜索引擎技术的结合体,随着社会对大规模开源分布式搜索引擎的需求迅速成长。
由于其良好的易用性,Elasticsearch早在1.0版本之前就加速了大规模搜索集群的普及。本书从基本概念开始熟悉Elasticsearch,接下来介绍了Elasticsearch在Windows和Linux操作系统下的安装。除了CURL命令,本书还介绍了使用常用的编程工具和Elasticsearch搜索服务交互,包括Java、Python、Scala和PHP,以及使用SQL语句查询Elasticsearch索引的方法。自然语言文本理解往往以插件形式存在于Elasticsearch集群中,第2章介绍了如何开发与测试插件。因为Elasticsearch经常用于实时搜索或分析,所以性能优化很重要,第3章介绍了如何管理Elasticsearch集群。为了更合理地使用和扩展Elasticsearch,第4章简单分析了github中托管的Elasticsearch源代码。对于搜索引擎来说,返回结果的相关性是一个重要的话题,第5章讨论了这个问题。第6章介绍了使用Java开发搜索引擎Web用户界面的几种方法。
随着人工智能领域技术的发展,让搜索引擎智能加速变成现实。智能搜索引擎需要能够检测到并识别出图像中的文字,第7章介绍了结合OpenCV使用Tesseract识别文字的方法。第8章介绍了根据问题返回搜索结果的问答式搜索。
目前Elasticsearch是实时系统监控的首选,第9章介绍了使用Elasticsearch监控与分析日志,也介绍了通过物联网监控系统的方案。
本书相关的参考软件和代码在读者QQ群471033528的附件中可以找到。Elasticsearch及其底层依赖的软件,其复杂程度已经超越了一个人所能掌握的程度。一些具体的细节也可以在读者QQ群中讨论。感谢早期合著者、合作伙伴、员工、学员、读者的支持,给我们提供了良好的工作基础。就像玻璃容器中的水培植物一样,这是一个持久可用的工作基础。技术的融合与创新无止境,欢迎读者一起探索。
本书适合需要具体实现搜索引擎的程序员使用,对于信息检索等相关领域的研究人员也有一定的参考价值,同时猎兔搜索技术团队已经开发出以本书为基础的专门培训课程和商业软件。
参与本书编写的还有张子宪、崔智杰、张晓斐、石天盈、张继红、张进威、刘宇、何淑琴、任通通、高丹丹、徐友峰、孙宽,在此一并表示感谢。
我一直对构建高效检索系统抱有浓厚的兴趣,特别是面对不断增长的数据量时,如何确保搜索的快速响应和精准度,对我来说是一个巨大的挑战。在接触了《Elasticsearch大数据搜索引擎》这本书之后,我才真正领略到了 Elasticsearch 在这方面的精妙之处。书中的讲解逻辑清晰,从基础的安装部署,到核心的索引原理,再到复杂的查询构建,每一步都衔接地非常自然。我特别欣赏作者在阐述 Lucene 索引机制时,用到的图示和类比,让抽象的内部运作变得直观易懂。而关于搜索算法的介绍,更是让我对如何优化搜索结果有了更深刻的理解。书中关于分词、评分机制的讲解,对提升搜索的相关性至关重要。而且,这本书不仅限于理论,还提供了大量实用的代码示例和配置技巧,让我能够立即将学到的知识应用到实际项目中。对于想要构建强大搜索功能,或者已经在使用 Elasticsearch 但希望进一步提升性能的开发者来说,这本书绝对是不可多得的参考资料。
评分这本书真是让我大开眼界!作为一个对数据处理一直充满好奇但又缺乏系统性知识的普通读者,我总觉得海量数据的处理和分析是一个遥不可及的神秘领域。市面上关于大数据和搜索引擎的书籍,要么过于晦涩难懂,要么偏重理论而缺乏实践指导。《Elasticsearch大数据搜索引擎》这本书,恰恰填补了这个空白。它并非仅仅停留在技术堆砌的层面,而是以一种非常贴近实际应用场景的方式,层层剥茧地揭示了 Elasticsearch 的强大之处。我尤其喜欢它在讲解概念时,引入了大量生动形象的比喻,让我这个非技术背景的读者也能快速理解诸如倒排索引、分词器、聚合查询等核心概念。书中的案例也相当实用,从搭建环境到构建复杂的搜索场景,每一步都清晰明了,让我能够边学边练,切实感受到 Elasticsearch 的强大能力。读完这本书,我对如何高效地检索、分析和可视化海量数据有了全新的认识,也自信了不少,觉得大数据分析不再是高高在上的技术,而是触手可及的工具。
评分这本书让我对“搜索引擎”这个概念有了颠覆性的认识。我一直以为搜索引擎只是一个简单的关键字匹配工具,但读完这本书我才明白,它背后蕴含着多么复杂的算法和精巧的设计。《Elasticsearch大数据搜索引擎》以一种非常平易近人的方式,将 Elasticsearch 的核心技术呈现在读者面前。它不仅讲解了 Elasticsearch 如何存储和索引海量数据,更重要的是,它揭示了 Elasticsearch 如何通过高效的查询语言、强大的聚合分析能力,以及灵活的分布式架构,来满足各种复杂的数据检索和分析需求。我尤其喜欢书中关于“聚合”部分的讲解,它让我看到了 Elasticsearch 在数据洞察方面的巨大潜力,可以通过简单的配置,就能从海量数据中挖掘出有价值的信息。这本书的优点在于,它能够同时满足不同层次读者的需求:初学者可以从中快速入门,有经验的开发者则可以从中找到深入优化的方法。
评分这本书的写作风格非常独特,它不是那种枯燥的技术手册,反而更像是一位经验丰富的老司机在娓娓道来,分享他多年来驾驭 Elasticsearch 的心得体会。作者在书中不仅深入浅出地讲解了 Elasticsearch 的技术原理,更重要的是,他结合了大量真实的、甚至是踩过的坑,给读者提供了宝贵的实践建议。读到某些章节时,我仿佛能看到作者当年为了解决某个棘手问题而熬过的夜,那种真实感和亲切感是很多技术书籍所缺乏的。书中对 Elasticsearch 的架构设计、性能优化、集群管理等方面都有深入的探讨,这些内容对于想要构建稳定、高效搜索服务的开发者来说,简直是无价之宝。而且,作者并没有止步于 Elasticsearch 本身,还扩展到了周边生态,比如 Kibana 的可视化能力,Logstash 的数据采集能力,这些都让这本书的内容更加饱满和全面。我强烈推荐这本书给任何想要在 Elasticsearch 领域深入发展的人,它不仅能教会你“怎么做”,更能让你理解“为什么这样做”。
评分作为一名数据分析师,我一直在寻找能够帮助我更有效地处理和理解大数据集的工具。在接触到《Elasticsearch大数据搜索引擎》之前,我曾尝试过多种数据处理方案,但总觉得不够便捷和高效。这本书的出现,彻底改变了我的工作方式。它让我了解了 Elasticsearch 如何作为一个强大的分布式搜索引擎,能够快速地对海量文本数据进行索引、搜索和分析。书中的很多章节,例如关于数据建模、索引优化以及查询性能调优的部分,都为我提供了非常有价值的指导。我学会了如何构建高效的索引结构,如何利用 Elasticsearch 的查询DSL来构建复杂的搜索条件,以及如何通过聚合功能来提取数据的洞察。最让我惊喜的是,这本书还介绍了如何将 Elasticsearch 与其他数据可视化工具(如Kibana)结合使用,从而实现对数据的直观展示和深入分析。这本书不仅提升了我的技术能力,更重要的是,它让我能够更从容地应对大数据带来的挑战。
评分很给力,快递小哥也很负责,下次继续过来!!
评分很给力,快递小哥也很负责,下次继续过来!!
评分实话实说,书里的内容是真的烂,40多块钱不多,就当做善事了
评分这个我要给个差评,不是给书的内容,是给包装的,书到了以后无外封皮包装,有折损。
评分这个我要给个差评,不是给书的内容,是给包装的,书到了以后无外封皮包装,有折损。
评分很给力,快递小哥也很负责,下次继续过来!!
评分实话实说,书里的内容是真的烂,40多块钱不多,就当做善事了
评分没有想象的那么好,比较基础 被名字骗了 ?
评分没有想象的那么好,比较基础 被名字骗了 ?
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有