一、Elastic Search概述:
1.1 Elastic Search 简介
Elastic Search(ES)是一个基于Lucene构建的开源、分布式、RESTFul接口全文搜索引擎。ES还是一个分布式文档库,其中每个字段均是被索引的 数据且可被搜索,它能够扩展至数以百计的服务器存贮以及处理PB级的数据,它可以在短时间内存储、搜索和分析大量的数据。
Elastic Search的主要特点
1.横向可扩展性。增加一台机器,只需要添加集群配置,启动Elastic Search进行即可;
2.分片机制。一个索引可以分成多个Sharding,提高处理效率;
3.高可用性。每个分片可以设置多个备份,少量机器宕机不影响正常使用;
1.1 Lucene简介
Lucene是Apache软件基金会中的一个开源代码的全文搜索引擎工具包,方便实现全文检索的功能。 Lucene是倒叙排序索引,即需要根据属性的值来查找记录。
举例(转自:《Elasticsearch技术解析与实战》):
clipboard.png
1.2 Lucene的核心结构:
Lucene将上面的三列分别作为词典文件(Term Dictionary)、频率文件(frequencies)、位置文件(positions)保存,其中词典文件保存了指向频率文件和文件位置的指针,通过指针可以找到该关键字的频率信息和位置信息。
1.3 ES的的术语说明:
Elastic Search和mysql的对应关系
MySql | Elastic Search |
---|---|
database | index |
table | type |
row | document |
cloumn | field |
schema | mapping |
index | Everything is indexed |
SQL | query DSL |
slect * from... | get http://... |
update talbe set... | put http://... |
网友评论