全文检索Elasticearch研究教学目标1.了解Elasticsearch的应用场景2.掌握索引维护的方法3.掌握基本的搜索Api的使用方法约束1.阅读本教程之前需要掌握Lucene的索引方法、搜索方法。1ElasticSearch介绍1.1介绍官方网址:https://www.elastic.co/cn/products/elasticsearchGithub:https://github.com/elastic/elasticsearch总结:1、elasticsearch是一个基于Lucene的高扩展的分布式搜索服务器,支持开箱即用。2、elasticsearch隐藏了Lucene的复杂性,对外提供Restful接口来操作索引、搜索。突出优点:北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-90901.扩展性好,可部署上百台服务器集群,处理PB级数据。2.近实时的去索引数据、搜索数据。es和solr选择哪个?1.如果你公司现在用的solr可以满足需求就不要换了。2.如果你公司准备进行全文检索项目的开发,建议优先考虑elasticsearch,因为像Github这样大规模的搜索都在用它。1.2原理与应用1.2.1索引结构下图是ElasticSearch的索引结构,下边黑色部分是物理结构,上边黄色部分是逻辑结构,逻辑结构也是为了更好的去描述ElasticSearch的工作原理及去使用物理结构中的索引文件。逻辑结构部分是一个倒排索引表:1、将要搜索的文档内容分词,所有不重复的词组成分词列表。2、将搜索的文档最终以Document方式存储起来。3、每个词和docment都有关联。如下:北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090现在,如果我们想搜索quickbrown,我们只需要查找包含每个词条的文档:两个文档都匹配,但是第一个文档比第二个匹配度更高。如果我们使用仅计算匹配词条数量的简单相似性算法,那么,我们可以说,对于我们查询的相关性来讲,第一个文档比第二个文档更佳。1.2.3RESTful应用方法如何使用es?Elasticsearch提供RESTfulApi接口进行索引、搜索,并且支持多种客户端。北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090下图是es在项目中的应用方式:1)用户在前端搜索关键字2)项目前端通过http方式请求项目服务端3)项目服务端通过HttpRESTful方式请求ES集群进行搜索4)ES集群从索引库检索数据。2ElasticaSearch安装2.1安装北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090安装配置:1、新版本要求至少jdk1.8以上。2、支持tar、zip、rpm等多种安装方式。在windows下开发建议使用ZIP安装方式。3、支持docker方式安装详细参见:https://www.elastic.co/guide/en/elasticsea...