Elastic Search
Reshma Asharaf Beena
What is ElasticSearch?
¡ñ
¡ñ ¡ñ
Elasticsearch is a distributed, open source search and analytics engine for all types of data, including textual, numerical, geospatial, structured, and unstructured data
It indexes all fields on a document and they become instantly searchable.
Elasticsearch uses a data structure called an inverted index => very fast full-text searches. An inverted index lists every unique word that appears in any document and identifies all of the documents each word occurs in.
Why use it?
¡ñ ¡ñ ¡ñ ¡ñ ¡ñ ¡ñ
Elasticsearch is fast.
Provides DSL (Domain specific language) based on JSON to define queries.
One of the major use case of ES – Full text search. Example: log processing, text file searches Distributed by nature.
Comes with a wide set of features (data rollups and index lifecycle management). Easily configurable with Kibana and therefore easy to visualize data.
Access control
¡ñ ¡ñ ¡ñ
¡ñ
Public Access (Not secure)
IP Based Access
AWS IAM role/user based access. (Attach a policy to your ES domain and use AWS signature version 4 signing process to access it)
Use your ElasticSearch cluster from inside a VPC (Most ideal)
Authorize and query data
Authorize and query data
Demo
1. https://fj2ys6vtze.execute-api.us-east-2.amazonaws.com/demo
2. https://search-demo-wsro5b325brukyrepuugtbuiry.us-east-2.es.amazonaws.com
3. https://search-demo-wsro5b325brukyrepuugtbuiry.us-east-2.es.amazonaws.com/_p lugin/kibana/app/kibana#/discover?
4. https://us-east-2.console.aws.amazon.com/es/home?region=us-east-2#domain:res ource=demo;action=dashboard;tab=undefined
Query examples:
{ “query”: { “match”: { “state” : “NY” } } }
{ “query”: { “wildcard”: { “email”: { “value”:”*pheast.com” } } }}
References
https://www.elastic.co/what-is/elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html
https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-request-signing.html#es-request-signing -python
https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-ac.html
Multi match query: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html Wild card query: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html