弹性搜索集群系统在生产和生活中发挥着越来越重要的作用。
本文介绍了弹性搜索的用途、原理、系统优化和扩展应用。
举例说明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检索模型和学习得分。
第六章介绍了几种用Java开发搜索引擎Web用户界面的方法。搜索相关页面主要包括主页和搜索结果页面。如果用户输入的搜索词是空,可以显示信息分类和导航的页面。首页主要包含搜索栏区域,此外还有一些推荐信息,以及之前的热门信息。
对于互联网搜索来说,搜索结果界面往往是通过JSP或者ASP.NET、PHP、Python等技术实现的。通过Ajax可以实现搜索联想词的页面效果。
本文首先介绍了JSP和自定义标签实现的搜索接口,然后介绍了基于REST架构的搜索接口。
随着人工智能领域技术的发展,加速搜索bow |引擎智能化成为现实。智能搜索引擎需要能够检测和识别图像中的字符。第七章介绍了利用Tesseract结合OpenCV进行字符识别的方法。
第8章介绍了问答搜索,它根据问题返回搜索结果。我们应该把观点和论点放入一个类似于数据库的正式结构中,比如一个涵盖了人类关于某个主题的所有知识的数据库。
搜索结果需要包含输入问题的答案,比如“如何补办身份证”。本文先介绍一种理解语义的方法,再介绍一种深度数据整合的方法,从而得到更好的答案。
目前,Elasticsearch是实时系统监控的首选。第九章介绍了使用Elasticsearch监控和分析日志,以及通过物联网监控系统的方案。
这个【Elasticsearch大数据搜索引擎】一共230页。需要《老友记》完整版,可以转发关注边肖和私信边肖[科技]获取!!!
Elasticsearch是用Logstash(一个数据收集和日志分析引擎)和Kibana(一个分析和可视化平台)开发的。
这三个产品被设计为一个集成的解决方案,称为“弹性堆栈”(以前称为“ELK堆栈”)。
Splunk实时索引来自任何应用程序、服务器或网络设备的数据(包括日志、配置文件、消息、警报、脚本和指示器),并使其可搜索。ELK提供了日志分析的开源实现,比Splunk更划算。
谢谢大家的支持!!加油好好学习~ ~ ~ ~ ~