从Lucene到Elasticsearch:全文检索实战pdf下载
第1章
第一章主要介绍信息检索的基本定义、术语、分词算法、倒排索引、布尔检索模型、向量空间模型、BM25概率检索模型。这一章的目的是为了让读者对信息检索有一个基本的认识,明白搜索是这么回事。关于检索模型,不论Lucene还是ELasticsearch,相关性评分是搜索要解决的问题,理解检索模型非常重要,我的建议是自己动手推导数学公式,从数学上理解算法,到后面再用Lucene或Elasticsearch就能游刃有余。
第2章
第二章主要介绍怎么用Lucene,学习内容主要包括分词的实现、索引的构建、查询的用法以及关键字高亮。
第3章
用Lucene仿照百度文库实现一个文件检索项目。如图2所示。
第4章
Lucene和Elasticsearch的关系,Elasticsearch的诞生过程、流行度分析、架构、核心概念、和其它数据库的对比、安装与启动、中文分词器配置、常用插件配置。
第5章
第5章主要有三块内容:索引管理、文档管理和映射详解。索引管理包括索引的增、删、改、查、开、关、复制、收缩、别名,文档管理包括文档的增、删、更新、获取、批量操作、版本机制和路由机制,映射详解主要包括映射的分类、动态映射和静态映射、字段类型、元字段、映射参数和映射模板。其中映射配置和使用是重点,遇到过多次因为日期类型的mapping设置有误,上亿的数据导到Elasticsearch之后需要翻工修改。每一个需要使用Elasticsearch的开发者,在动手之前,把mapping中的所有字段、原字段、参数等配置信息过一遍是最基本的要求。
第6章
第6章主要介绍搜索机制、全文级别的查询、词项级别的查询、复合查询、嵌套查询、位置查询、特殊查询、搜索高亮的实现以及性能分析、搜索排序和评分的相关分析。
第7章
第7章主要介绍指标聚合和桶聚合。指标聚合可以实现关系型数据库中的统计功能,比如常用的求和、最大/小值、平均数等,桶聚合可以实现关系型数据库中的分组功能,每个的功能都通过具体例子进行讲解。
第8章
第8章介绍如何在Java项目中通过Java客户端做二次开发。Elasticsearch提供了多种客户端,包括Java、Javascript、Python、.NET、PHP、Ruby等常用语言,考虑到Lucene是纯java编写、基于java的项目比较多,这一章重点介绍如何使用java客户端基于Elasticsearch做二次开发。
第9章
第9章介绍集群的规划、分片的规划、分布式集群的配置、集群健康的监控与查看以及常用的API。
第10章
第10章讲解基于Elasticsearch整合Mysql实现新闻搜索项目,包括数据导入、 前端搜索框和搜索结果页、关键字高亮、搜索分页等关键步骤的实现。如图3和图4所示。
第11章
第11章介绍ES-Hadoop,ES-Hadoop是连通分布式搜索引擎Elasticsearch和Hadoop大数据生态系统的桥梁。
链接: https://pan.baidu.com/s/1dkYuCcJrP0w8u9xgf7_kvQ 提取码:
谢谢分享
页:
[1]