前言

Elasticsearch搜索集群系统在生产和生活中发挥着越来越重要的作用。

本文介绍了Elasticsearch 的使用、原理、系统优化与扩展应用。

用例子说明了Java、Python、 Scala 和PHP的编程API,其中在Java搜索界面实现上,介绍了使用Spring实现微服务开发。为了扩展Elasticsearch 的功能,本文以中文分词和英文文本分析为例介绍了插件开发方法。

本文介绍了使用Elasticsearch作为数据管理平台的日志监控与分析方法,介绍了使用OCR从图像中提取文本以及问答式搜索的开发方法。

目录

 

主要内容

第1章介绍了如何使用elasticsearch,在信息时代,可供获取的数据加速涌现,我们可以通过搜索引擎来挖掘大数据的价值,百度就是一个大的数据搜索引擎。

Lucene是一个Java 语言开发的开源全文检索引擎工具包。Lucene 穿了一件json的外衣,就是Elasticsearch。 Elasticsearch 内置了对分布式集群和分布式索引的管理,所以相对Solr来说,更容易分布式部署。

 

第2章介绍了如何开发与测试插件。因为Elasticsearch经常用于实时搜索或分析,所以性能优化很重要。

 

第3章介绍了如何管理Elasticsearch 集群。默认Elasticsearch是使用Netty作为HTTP的容器的,由于Netty并没有权限模块,所以默认Es没有任何的权限控制,直接通过HTTP就可以进行任何操作,除非把HTTP禁用。但如果使用elasticsearch-jetty 插件,就可以使用jetty自带的权限管理进行一些权限的控制,同时也可以支持通过HTTPS协议来访问Es,还有就是支持gzip压缩响应信息。

 

为了更合理地使用和扩展Elasticsearch,第4章简单分析了github 中托管的Elasticsearch 源代码。

 

对于搜索引擎来说,返回结果的相关性是一个重要的话题, 第5章讨论了这个问题。评估查询词和文档的相关性当前有BM25检索模型和学习评分两种流行的方法。

 

第6章介绍了使用Java开发搜索引|擎Web用户界面的几种方法。搜索相关页面主要包括首页和搜索结果页。如果用户输入搜索词是空,则可以显示一个对信息分类导航的页面。首页主要包含搜索条区域,此外可以包括一些推荐信息, 以及当.前热门信息。

对于互联网搜索来说,搜索结果界面往往采用JSP 或ASP.NET、 PHP、Python 等技术来实现。搜索联想词的页面效果可以用Ajax来实现。

这里首先介绍采用JSP和自定义标签实现的搜索界面,然后介绍REST架构的搜索界面。

 

随着人工智能领域技术的发展,让搜索弓|擎智能加速变成现实。智能搜索引|擎需要能够检测到并识别出图像中的文字,第7章介绍了结合OpenCV使用Tesseract 识别文字的方法。

 

第8章介绍了根据问题返回搜索结果的问答式搜索。我们应该把意见和论据套入一个类似数据库的正规架构中,如一个涵盖人类在某主题下所有知识的数据库。

在搜索结果中需要包含输入问题的答案,如“如何补办身份证”。这里首先介绍一种理解语义的方法,然后介绍数据深度整合的方法,以便能够得到更好的答案。

 

目前Elasticsearch是实时系统监控的首选,第9章介绍了使用Elasticsearch 监控与分析日志,也介绍了通过物联网监控系统的方案。

 

这份【Elasticsearch大数据搜索引擎】共有230页,需要完整版的朋友,可以转发关注小编👇👇👇

Elasticsearch与数据收集和日志解析引擎Logstash以及分析和可视化平台Kibana 一起开发。

这三款产品被设计成集成的解决方案,称为“Elastic 栈”(以前称为“ELK栈”)。

Splunk为来自任何应用、服务器或网络设备(包括日志、配置文件、消息、警报、脚本和指标)的数据实时建立索引并使其变得可搜索。ELK提供了日志分析的开源实现,比Splunk更节约成本。

感谢大家的支持!! 加油好好学习~~~~~~