Elasticsearch搜索引擎构建入门与实战
基本信息

【插图】

编辑推荐
甲骨文、阿里巴巴等公司4位专家力荐!资深大数据专家多年ES搜索引擎构建经验总结,详解索引创建、文档操作、搜索匹配、搜索排序和聚合等技术,详解经典实战项目案例
内容全面:涵盖索引创建、文档操作、搜索匹配、搜索排序和聚合等技术。
重点突出:着重介绍搜索匹配和搜索排序两大核心功能模块的相关知识。
实用性强:结合大量典型实例进行讲解,并给出完整的搜索引擎实战案例。
紧扣主题:结合酒店搜索引擎的实际场景,详解Elasticsearch的相关知识点。
容易落地:介绍DSL(领域特定语言)的同时给出同等效果的Java代码,提高技术落地的效率。
内容简介
计算机书籍
本书从Elasticsearch的基本概念和原理讲起,然后系统介绍Elasticsearch的使用场景,带领读者近距离接触Elasticsearch。本书涵盖客户端的安装和使用、索引的创建、文档的操作、搜索匹配、搜索排序和聚合,可以帮助读者循序渐进地掌握Elasticsearch的相关知识。
本书共8章,分为3篇。第1篇“Elasticsearch基础”,主要介绍Elasticsearch的基础知识和基本用法;第2篇“Elasticsearch提高”,首先介绍文本搜索和排序原理,然后介绍聚合的使用方法;第3篇“Elasticsearch实战”,以酒店搜索为例,详细介绍Elasticsearch在实际搜索应用中涉及的相关技术,帮助读者全面了解搜索引擎,并提高开发水平。本书重点介绍Elasticsearch的核心功能——搜索匹配和排序,其中对中文匹配的实现用较大篇幅讲解,便于读者进行中文搜索的落地工作。另外,结合具体实例讲解排序功能,帮助读者更加透彻地理解Elasticsearch排序算法的原理。
本书内容丰富,语言通俗易懂,讲解图文并茂,案例典型而实用,适合Elasticsearch初学者和有一定基础而想提高水平的进阶人员阅读,另外还适合相关院校和培训机构作为教材。
作译者
内容全面:涵盖索引创建、文档操作、搜索匹配、搜索排序和聚合等技术。
重点突出:着重介绍搜索匹配和搜索排序两大核心功能模块的相关知识。
实用性强:结合大量典型实例进行讲解,并给出完整的搜索引擎实战案例。
紧扣主题:结合酒店搜索引擎的实际场景,详解Elasticsearch的相关知识点。
容易落地:介绍DSL的同时给出同等效果的Java代码,提高技术落地的效率。
目录
前言
第1篇 Elasticsearch基础
第1章 Elasticsearch入门 2
1.1 Elasticsearch概述 2
1.1.1 Elasticsearch简介 2
1.1.2 Elasticsearch的基本概念 3
1.1.3 Elasticsearch和关系型数据库的对比 5
1.2 Elasticsearch的架构原理 7
1.2.1 节点职责 7
1.2.2 主分片和副分片 9
1.2.3 路由计算 10
1.2.4 文档读写过程 10
1.3 Elasticsearch的应用场景 12
1.3.1 搜索引擎 12
1.3.2 推荐系统 12
1.3.3 二级索引 13
1.3.4 日志分析 14
1.4 Elasticsearch的安装 14
1.4.1 单机模式安装 15
前言
如今,形形色色的互联网应用程序都内置了搜索引擎功能。例如,用户可以在淘宝和京东等电商平台上搜索商品,可以在携程和美团等平台上搜索低价的飞机票,还可以在百度地图和高德地图等软件中搜索某地的详细地址。
搜索引擎的底层技术是非常专业的,需要技术人员系统地学习索引、压缩和存储等方面的知识,学习路线非常“陡峭”。而在工程实践中,技术人员往往需要一款无须熟知底层技术便可使用的搜索引擎框架,以便在较短时间内实现业务搜索的需求。作为搜索引擎框架中的佼佼者,Elasticsearch(简称ES)提供了完备的解决方案。从索引创建到搜索查询,再到搜索排序等各个方面,ES都提供了对应的服务支持,用户可以通过发送REST请求完成上述工作。如今,ES已经不是单一的搜索引擎框架,它已经演变成一个生态系统。ES与ELK的完美搭配,使系统的数据收集、数据检索和数据呈现可以无缝连接,因此越来越多的企业都采用该方案来搭建数据系统。
笔者在使用ES构建搜索引擎的过程中查阅了大量资料,从中汲取了丰富的营养,积累了宝贵的实战经验,对ES的理解越来越深刻,因此也越来越迫切地希望将自己积累的这些经验总结成册,以帮助更多想学习ES开发的人。这便是本书写作的初衷。
本书特色
1.内容全面,重点突出
本书没有泛泛地介绍ES的每一个技术细节,而是将重点放在搜索匹配和搜索排序两大核心功能模块的讲解上。这两个模块涉及搜索引擎的主要功能,是工程实践中经常使用的模块。
2.结合大量实例讲解,实用性强
本书结合大量的ES实例进行讲解,并在最后一章给出了完整的搜索引擎实战案例,具有较强的实用性。通过阅读本书,读者可以系统地掌握ES的实战技能。
3.贯穿主题,沉浸式学习
本书引入酒店搜索引擎这一主题,结合酒店搜索的实际需求场景介绍ES的相关知识点,可以让读者通过沉浸式的学习体验,感受看得见、摸得着的真实案例。
4.“双语”输出,能实验也能落地
本书在介绍DSL(领域特定语言)的同时也会给出同等效果的Java代码,以帮助读者节省查找相关文档的时间,从而提高技术落地的效率。
本书内容
第1篇 Elasticsearch基础
第1章首先介绍ES的基本概念、架构原理和应用场景,然后介绍ES的安装和基本使用。
第2章介绍ES客户端的使用,包括Kibana的安装和使用,以及Java客户端、Spring Data Elasticsearch和JestClient的使用。
第3章介绍ES的索引、映射和文档的基本操作,其中,文档的操作重点介绍批量写入、更新和删除等相关操作。
第4章介绍ES的搜索功能,包括基于term的普通搜索、文本匹配和基于地理位置的搜索,以及ES提供的辅助搜索工具的使用。
第2篇 Elasticsearch提高
媒体评论
本书由浅入深地介绍Elasticsearch搜索引擎构建从基础到提高再到项目实战的相关知识,内容通俗易懂,实用性强,阅读后让人有立刻付诸实践的冲动。本书通过大量的示意图对复杂的公式和原理进行分析,以帮读者透彻地理解相关知识点,另外还对开发中的常见问题做了专门分析并给出独特的见解。通过阅读本书,你会发现搜索引擎开发其实并不难。
——阿里巴巴数据研发专家王海洋
本书结合作者在企业内部参与的典型项目案例和积累的大量实战经验,循序渐进地将Elasticsearch的完整知识体系进行深度剖析。作者在介绍每个技术点时,将Elasticsearch应用中经常会碰到的重点问题和难点问题进行解析,帮助读者更加深入地理解所学知识。可以说,本书做到了理论与实战的完美结合,值得每一个Elasticsearch学习者阅读。
——福佑卡车大数据负责人/前玖富集团大数据部总经理兼高级总监刘蔚良
很荣幸受邀阅读这部佳作。本书适合想要学习Elasticsearch搜索引擎技术的初学者入门,也适合从业人员进行开发实践。作者既对Elasticsearch基础知识做了全面介绍,又对Elasticsearch高级技术做了深度探索,还提供了Elasticsearch典型项目案例帮助读者进行开发实践。通过阅读本书,读者不但可以掌握基础知识,而且还可以进一步进阶提升,从而解决搜索工作中的诸多问题。
——汽车之家高级数据分析工程师陈巧玉
配书资料获取方式:
本书涉及的案例源代码需要读者下载。请在www.hzbook.com上搜索到本书,然后单击“资料下载”按钮,即可在本书页面上找到下载链接进行下载,另外也可以按照本书前言中给出的百度网盘地址进行下载。