Basic
Concept
Config
Usage
DDL(Data Definition Language)
Index
Type
string
- keyword(不分词)
 - text(分词)
 
number
- 整数:byte、short、int、long、bigint
 - 小数
- 浮点数:float、double、half_float、scaled_float
 
 
boolean
datetime
datetime
format
timezone
array
nested
object
binary
range
ip
geo
- geo_point(经纬度点)
 - geo_shape(经纬度区域图形)
 
Template
mappings
settings
Analyzer
Alias
Reindex
Rollover
Lifecycle
Snapshot
DML(Data Manipulation Language)
- insert:插入
- insertOrReject:不存在就插入,存在时就拒绝
 - insertOrIgnore:不存在就插入,存在时就忽略
 - insertOrUpdate:不存在就插入,存在时就更新(部分更新)
 - insertOrReplace:不存在就插入,存在时就替换(整体替换)
 
 - update:更新
- updateOrReject:存在时就更新,不存在就拒绝(不常见)
 - updateOrIgnore:存在时就更新,不存在就忽略(很常见)
 - updateOrInsert:存在时就更新,不存在就插入(等同于insertOrUpdate)
 
 
ps:修改(modify)广义上包含insert(插入)、update(更新)、delete(删除)操作
ps:替换(replace)也是一种修改,本质是delete(删除)+ insert(插入)
1  | POST /<target>/_doc/:insert(自动创建id)  | 
insert
单个插入、批量插入
insertOrReject: POST /<target>/_doc/<_id>/_create 。
insertOrIgnore:无
insertOrUpdate: POST /<target>/_doc/<_id>/_update (需要有upsert参数)
insertOrReplace: PUT /<target>/_doc/<_id>
update
单个更新、批量更新
updateOrReject: 无
updateOrIgnore: POST /<target>/_doc/<_id>/_update 。
updateOrInsert: 等同于insertOrUpdate
delete
单个删除、批量删除
DQL(Data Query Language)
等值查询、多值查询、范围查询、模糊查询、逻辑查询、聚合查询、关联查询、子查询
general(常规查询)
equal(等值查询)
multi(多值查询)
range(范围查询)
范围查询:左闭右闭(数据库用的多)、左闭右开(编程语言用的多)、左开右闭、左开右开
fuzzy(模糊查询)
logic(逻辑查询)
aggregation(聚合查询)
relation(关联查询)
sub(子查询)
Transaction
elasticsearch不支持事务,所以不支持原子性和隔离性,但支持持久化
Atomicity
无
Isolation
无
Durability
Problem
Performance
- optimize(查询和性能优化)
 - explain(查询分析工具)
 - profile(性能分析工具)
 - slowlog(慢查询日志)
 - monitor(性能监控工具)
 
Optimize
Analysis
Diagnosis
SlowLog
Monitor
Architecture
Replication
Cluster
Distributed
Application
Theory
Index
Reverted-Index
ps:数据库的
辅助索引和搜索引擎的倒排索引都是关键字到主键的反向映射关系
Score
TF-IDF
Query
Match
Sorting
Aggregation
Shard
Segment
分段存储、延迟写、段合并
Other
Management
管理
Visual
Tools
Operation
运维
TODO:es不停机迁移