Elasticsearch 搜索引擎开发实战

内容简介

本书结合 Elasticsearch 在工程中的实际应用,详细介绍了使用 Elasticsearch 开发支持中文和英文搜索引擎的相关技术,从而实现系统监控。

本书共分为8章,内容涵盖了 Elasticsearch 搜索引擎开发的环境安装与配置;实现一个简单的网站搜索;开发中文搜索引擎;Mapping 详解;源代码分析;提高搜索相关性;使用 Spring Boot 开发搜索界面;使用 Elasticsearch 和相关软件实现系统监控;搜索引擎开发案例分析。

本书非常适合信息检索技术爱好者、搜索引擎开发人员和搜索引擎优化(SEO)人员阅读,也适合作为高等院校信息检索课程的教材或教学参考书。

《Elasticsearch 搜索引擎开发实战》

本书内容

前言

搜索引擎在人们的日常生活中发挥着越来越重要的作用。随着开源软件的普及与发展,涌现出了许多优秀的搜索软件,如 Elasticsearch、Solr 等。其中,Elasticsearch 以大规模分布式搜索见长,而 Solr 则以分面搜索见长。

本书选择 Elasticsearch 作为实现搜索引擎的工具。Elasticsearch 具有强大的分布式搜索和可视化功能,不仅丰富了实现搜索引擎的方法,而且还使复杂抽象的数据结构与算法变得直观而鲜活,因此在国外被迅速地引入到人工智能的相关课程中。

本书全面、系统地介绍了分布式搜索引擎的相关内容及 Elasticsearch 中的 Java 代码实现。本书内容既注重基础知识,又非常注重实践,每章都提供了大量的实例程序。读者可以通过这些实例快速上手,并迅速提高搜索引擎开发技术。通过对本书内容的学习,读者不仅可以掌握搜索引擎开发的基本知识,而且还可以灵活地将 Elasticsearch 运用到解决实际问题当中,从而提升工作效率。

本书特色

1.内容全面,结构合理

本书首先介绍了 Elasticsearch 的安装和基本使用方法,然后介绍了从搜索到内容监控等方方面面的知识。在内容安排上,本书根据读者的认知规律对学习梯度做了合理安排,降低了学习难度。

2.讲解详尽,实例丰富

本书对每个技术要点都做了细致入微的介绍,并且在讲解的过程中提供了丰富的实例,而且每个实例都经过精挑细选,具有很强的针对性,特别是本书最后的应用案例,更是对相关技术的一个全面应用。另外,书中所有实例的实现代码都考虑了通用性,读者可以直接将代码移植过来加以修改,即可解决自己的实际问题。

3.语言通俗,图文并茂

本书用通俗易懂的语言进行讲解,尽量避免生疏的专业术语。在讲解一些重要知识点时,书中给出了大量的图示及实例运行结果,帮助读者更加直观、高效地理解所学内容。

4.提供配套教学 PPT,使学习更高效

为了便于读者高效、直观地学习本书内容,作者特意针对每章的重点内容制作了教学 PPT,这些 PPT 和本书的实例源文件都会免费提供给读者下载。

本书内容

本书共分8章,具体内容介绍如下:

第1章 Elasticsearch 开发搜索引擎应用,主要介绍了搜索引擎开发方面的一些基础知识和 Elasticsearch 开发环境的安装,并对 Java API 与 Elasticsearch 搜索集群的交互也做了介绍。

第2章开发中文搜索引擎,主要介绍了中文搜索引擎开发的相关内容,包括中文分词原理和中文分词插件开发等。

第3章 Mapping 详解,主要介绍了 Mapping 概念及如何使用 Mapping,包括 Mapping 索引、Mapping 数据类型、Mapping 参数和动态 Mapping 等。

第4章深入源码分析,详细分析了 Elasticsearch 源代码,主要内容包括 Lucene 源码分析、启动搜索服务、Guice 框架、日期和时间库、Transport 模块、线程池、模块、Netty 通信框架、缓存、分布式、Zen 发现机制、联合搜索和 JVM 字节码等。

第5章提高搜索相关性,主要介绍了向量空间检索模型、BM25 检索模型、学习评分、查询意图识别和图像特征提升检索体验等内容。

第6章搜索界面开发,涵盖的主要内容包括使用 Searchkit 实现搜索界面;Spring Boot 入门;Java 模板引擎 Pebble 介绍;通过 Spring-data-elasticsearch 项目访问 Elasticsearch;REST 基本概念;使用 Vue.js 开发搜索界面;使用 Vue.js Paginator 插件实现翻页;实现搜索接口;Suggester 搜索词提示;Word2vec 挖掘相关搜索词;部署网站;使用 Rust 开发搜索界面等。

第7章 Elastic 栈系统监控,主要介绍了使用 Elasticsearch 和相关软件实现系统监控,包括管理 Elasticsearch 集群、Logstash 数据处理工具、Filebeats 文件收集器、消息过期、Kibana 可视化平台、Flume 日志收集系统、Kafka 分布式流平台和 Graylog 日志管理平台等内容。

第8章案例分析,主要介绍了双语句对搜索、内容管理系统站内检索,以及使用 Elasticsearch 搜索公开的药物临床试验项目信息等几个案例。

本书读者对象

  • 信息检索技术爱好者;

  • 搜索引擎开发人员;

  • 搜索引擎优化(SEO)人员;

  • 从事算法研究的技术人员;

  • 高等院校理工科专业的学生和老师。

本书配套资源及获取方式

为了方便读者高效学习,本书特意提供了以下配套资源:

  • 本书配套教学 PPT;

  • 本书源代码文件;

  • 本书涉及的一些开发工具的安装包。

这些配套资源需要读者自行下载,请登录机械工业出版社华章公司的网站 www.hzbook.com,搜索到本书,然后在页面上的“资料下载”模块下载即可。

本书作者

本书由罗刚主笔编写,其他参与编写的人员有张子宪、沙芸、柳若边、崔智杰、石天盈、张继红、罗庭亮。

在此感谢我的家人、同事及所有在本书写作过程中提供过帮助的人!另外,本书在编写过程中参考了一些开源代码,在此对相关作者也一并表示感谢!

虽然我们对书中所述内容都尽量核实,并进行了多次校对,但由于写作时间仓促,加之作者水平所限,书中可能还存在疏漏和错误之处,恳请广大读者批评、指正。联系我们,请发电子邮件到 hzbook2017@163.com。

罗刚

于北京

第1章 Elasticsearch 开发搜索引擎应用(上)

第1章 Elasticsearch 开发搜索引擎应用(下)

第2章 开发中文搜索引擎(上)

第2章 开发中文搜索引擎(下)

第3章 Mapping 详解

第4章 深入源码分析(上)

第4章 深入源码分析(下)

第5章 提高搜索相关性

第6章 搜索界面开发(上)

第6章 搜索界面开发(中)

第6章 搜索界面开发(下)

第7章 Elastic 栈系统监控(上)

第7章 Elastic 栈系统监控(下)

第8章 案例分析(上)

第8章 案例分析(下)

参考文献

阅读全文: http://gitbook.cn/gitchat/geekbook/5c258ea14fcd483b0265b079

    原文作者:蔚1
    原文地址: https://blog.csdn.net/valada/article/details/85729324
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞