ElasticSearch For SQL People Cheat Sheet
ElasticSearch For SQL People Cheat Sheet
SQL ElasticSearch ElasticSearch Apache Lucene PUT server/index/ty- Creates doc from JSON
DatabaseIndex Node management Searching pe/ID JSON using ID
Table Type Shard managementIndexing POST server/index/type Creates doc from JSON
Row Document Health monitoring Stemming JSON and generates ID
Column Field Parallelizing Work Serialized Workload POST server/index/type/-Updates part of the
Definitions (?) Parent-Child vs Nested ID/_update JSON document matching on ID
GET server/index/ty- Retrieves doc matching ID
Index Collection of one or more shards Sharding Children reside in Parent's shard pe/ID
Shard Apache Lucene Instance Parent- Cheap to update, slow to query DELETE server/index- Deletes doc matching ID
Cluster One or more nodes Child /type/ID
Nodes Server instances Nested Cheap to query, slow to update Search Commands
Routing A way to control what shard a document
goes to (used for performance) GET server/index/ty- Simple Search index\type
Segmen Internal lucene data block pe/_search?q=XXX with query XXX
t POST server/index- ComplexSearch index\type
Resilience & Scalability /type/_search JSON with query in JSON
Big Ideas
Shard(s) One Primary, N Replicas
Index Made of one or more shards Forward Maps a document to a set of words
Cluster Made of one or more nodes Index
Nodes A single server in a cluster Inverted Maps a word to a set of documents
Shard Logical partition of an index across Index
the nodes in a cluster Stemming Converting a word to it's root, ie raining
Replica Number of copies of the primary -> rain
shards in a cluster Synonyms Converts a word to an appropriate
Total shards in = primary shards * (replica count + equivalent, ie Sunday -> weekend
cluster 1) Lucene uses an Inverted Index to find documents
Shards per node = Total shards in cluster / # of nodes so quickly.
Lucene uses stems for it's indexes and search
terms to increase hit ratio for searches.
Lucene uses synonyms to increase hit ratio for
searches.