Document): 索引和搜索时的主要数据载体,包含一个或多个现存有数据的字段field): 文档的一部分,包含名称和值两部分term): 一个搜索单元,表示文本中得一个单词token): 表示在字段中出现词得属性,又词得文本、开始和结束偏移量以及类型组成JavaScript Object Notation)是一种轻量级的数据交换格式,不仅易于人们阅读和编写ES把输入文档和复杂的查询语法及输出的查询结果封装为XContent,数据就可以采用XML和JSON格式表示成可读的形式
使用RESTFul API隐藏Lucene的复杂性
Lucene是由一个Java语言开发的开源全文检索引擎工具包。把Lucene用Netty封装成服务,使用JSON访问就是Elasticsearch,底层是Luecen
内置了对分布式集群和分布式索引的管理,所以相对Solr来说,不需要额外安装ZooKeeper,其更容易分布式部署
搜索系统整体架构

master),主节点宕机,会自动选出新的主节点,所以不存在单点故障shard),每一个分片都可以有0到多个副本(replicas),每一个副本==都是分片的完整复制品,这样提高了查询速度Gateway来管理集群恢复,可以配置集群加入多个节点才能启动恢复数据。网关配置用于恢复任何失败的索引,当节点崩溃重新启动时,Elasticsearch将网关读取所有的索引和元数据**Transport:内部节点或者集群客户端之间的交互方式,默认使用TCP协议进行交互,同时支持HTTP协议(JSON格式)、Thrift,Servlet,Memcached,ZeroMQ等多种传输协议索引(Index)
RDBMS的数据库Shards),每个分片可以有多个副本(replica)文档(document)
RDBMS中的一行记录multivalued):文档由多个字段组成,每个字段多次出现在一个文档里文档类型
一个索引对象可以存储很多不同用途的对象
映射
节点和集群
分片
shard,存放在不同节点上,其中每个分片都是一个独立的索引,分片**上,ES会把查询发送给每个相关的分片,并将结果合并在一起副本(replica)
replica是一个分片的精确复制,每个分片有零个或多个副本primary):被动选择更改索引操作,其余成为副本分片(replica shard)Query DSL
时光之门

Elasticsearch使用文档的唯一标识符来计算文档应该被放到哪个分片中
执行搜索请求

RDBMS)对比| Elasticsearch | RDBMS |
|---|---|
| Cluster | Database |
| Shard | Shard |
| Index | table |
| Field | Column |
| Documnet | Row |

从一串文本切分出一个一个的词条,对词条进行标准化
包括三部分
character filter: 分词前的预处理,过滤HTML标签,特俗符号转换内置分词器


URL
