ES
倒排索引
1、分布式的搜索、存储、数据分析引擎 (不等于搜索引擎)
2、优点、
面向开发者,屏蔽了Lucene的复杂特性
集群自动发现
自动维护数据在多个节点的建立
搜索请求的负载均衡
自动维护冗余副本,保证部分节点宕机时不会有数据丢失
提供了高级功能-复合查询、聚合分析、基于地理位置
构建大型分布式集群、处理pb级别数据
同义词梳理,相关度排名、海量数据的近实时处理
3、应用领域
百度—全文检索、高亮、搜索推荐
网站的用户行为日志
BI
GIthub
ELK
4、核心概念
cluster集群
node节点
field 数据字段
documents ES最小的数据单元
主(RW)+副本(R)
5、容错机制
1、master选举———选举过程?
2、Replica容错
3、重启故障机
4、数据恢复
6、CRDU(rest api)
插入
PUT /index/type/id
{
json
}
全量替换
部分更新
POST /index/type/id/_update
{
“type”:{
}
}
删除
DELETE /index/type/id
工具:
kibana
常用的query SQL
1、query string search。类似于url挂参数搜索
2、auery DSL
3、query and filter
GET /index/_search?sort=price.asc&name=xiaomi
GET /index/
查询和过滤
match_all
match
sort
multi_match
_source
deep-paging
全文检索
query-term
match(模糊). term(精确-不分词)
bool组合查询—more matches is better
Query and filter
Must 必须满足
filter 过滤器
should 可能满足
must_not 必须不满足
timeout 超时后返回已获取到的数据
避免deep-paging
Scroll-search