基于python网站开发,那些网站做调查能赚钱,武夷山网站设计,wordpress的seo1.简介
Elasticsearch是一个开源的高扩展的分布式全文检索引擎#xff0c;它可以近乎实时的存储、检索数据#xff1b;本身扩展性很好#xff0c;可以扩展到上百台服务器#xff0c;处理PB级别的数据。
Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引…1.简介
Elasticsearch是一个开源的高扩展的分布式全文检索引擎它可以近乎实时的存储、检索数据本身扩展性很好可以扩展到上百台服务器处理PB级别的数据。
Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性从而让全文搜索变得简单。 2.Solr
基于lucene的全文搜索服务器提供了比lucene更加丰富的查询语句
Solr可以通过HTML页面管理,使用XML配置达到灵活性和适配性
灵活的插件体系
强大的数据导入功能
3.ElasticSearch与Solr
Solr 利用 Zookeeper 进行分布式管理而 Elasticsearch 自身带有分布式协调管理功能;
Solr 支持更多格式的数据html、xml、csv而 Elasticsearch 仅支持json文件格式
Solr 官方提供的功能更多而 Elasticsearch 本身更注重于核心功能高级功能多有第三方插件提供
Solr查询快但更新索引时慢多用于电商查询多的应用。Elasticsearch建立索引块查询慢实时性查询快多用于facebook、新浪等搜索 4.ES组成
索引---数据库
类型---表
文档---行/一条记录
ES集群中可以包含多个索引数据库每个索引中包含多个类型表每个类型又包含多个文档行每个文档中又包含了多个字段列。
文档索引和搜索的最小单位
1.自我包含一个文档包含字段和对应的值也就是同时拥有key:value
2.层次型一个文档中还包含一个文档也就是一个复杂的实体逻辑
3.灵活结构文档不依赖预先定义的模型在关系型数据库中我们需要提前定义字段才能使用而在ES中我们可以忽略字段也可以新添加字段。 类型文档是类型的逻辑容器就像关系型数据库中表是行的容器。
类型中对字段的定义是映射ES中文档是无模式的但是当我们新增一个字段时ES就会根据值猜他的类型也有可能猜不对最安全的方式就是提前定义好所需要的映射这就和关系型数据库类似。 索引是映射类型的容器。索引中存储了映射字段和其他设置之后存储到各个分片上。
ES将索引划分为多个分片每个分片可以在集群中的不同服务器上迁移。 一个集群至少有一个节点节点代表ES进程节点有多个索引一个索引对应5个分片每个分片有一个副分片主分片和副分片不在同一节点下面。
每一个分片就是一个lucene索引(一个ES索引包含多个lucene索引一个包含倒排索引的文件目录倒排索引的结构使得ES在不扫描全部文件的情况下就能说明文档包含的特定关键字。 倒排索引lucene索引底层
就是按照文章关键字对应的文档建立索引根据关键字就可以查询对应的文档无需查明每个文档。