Top Banner
Jakub Kluvánek [email protected] @kluvi, @biddingfox_devs Elasticsearch for dummies
31

Elasticsearch for dummies · Jakub Kluvánek [email protected] @kluvi, @biddingfox_devs Elasticsearch for dummies

Jul 04, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Jakub Kluvá[email protected]@kluvi, @biddingfox_devs

Elasticsearch for dummies

Page 2: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

WTF

Page 3: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

database

Page 4: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

RESTful search and

analytics engine

Page 5: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

APIs● Bulk API

● Reindex API

● Multi termvectors

API

● ...

● Index API

● Get API

● Delete API

● Delete by query API

● Update API

Page 6: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

rows

documents

Page 7: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Parts● cluster

● node

● index

● mapping

● shard

● segment

● document

● field

● subfield

Page 8: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

denormalize everything

Page 9: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

realtime

NRT

https://www.elastic.co/guide/en/elasticsearch/reference/current/_basic_concepts.html#_near_realtime_nrt

Page 10: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Data loss● index-time (queues)

● failed shard

● duplicity

Page 11: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

index allocation

https://www.elastic.co/guide/en/elasticsearch/reference/current/shard-allocation-filtering.html

Page 12: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Mapping● text, keyword

● long, integer, short, byte, double, float,

half_float, scaled_float

● date

● boolean

Page 13: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Mapping● binary

● integer_range, float_range,...

● object, array, nested

● geo_point, geo_shape

● ...https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html

Page 14: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Mapping update● multi-index

● reindex

● update

Page 15: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Search API● query/filter

● match

● bool

● term

● range

● exists

● ids

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html

Page 16: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Aggregations● metrics (sum, max, min, stats,...)

● buckets (terms, histogram, range,...)

● pipeline (max bucket, stats bucket,...)

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html

Page 17: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Aggregations● nesting

● partitioning

Page 18: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Update API● update vs index API

● painless

● stored scripts

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html

Page 19: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Bulk API● multi-index

● multi-operation

● MUST-HAVE!

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html

Page 20: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

document versioning

Page 21: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

scrolling

Page 22: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

routing

Page 23: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

scalability

Page 24: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

authorization

Page 25: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

backups

Page 26: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

GUIs● Kibana

● Cerebro

Page 27: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

ELK stack

Page 28: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

ELKB (Elastic) stack

Page 29: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

školení ?

Page 30: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Otázky?

Page 31: Elasticsearch for dummies · Jakub Kluvánek jakub.kluvanek@biddingfox.com @kluvi, @biddingfox_devs Elasticsearch for dummies

Jakub Kluvá[email protected]@kluvi, @biddingfox_devs