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不停机迁移