Skip to content

Instantly share code, notes, and snippets.

@zahra-ove
Last active June 13, 2025 17:22
Show Gist options
  • Save zahra-ove/ea36655b770467318b42a94c1cb7b7d2 to your computer and use it in GitHub Desktop.
Save zahra-ove/ea36655b770467318b42a94c1cb7b7d2 to your computer and use it in GitHub Desktop.

Elasticsearch In action Books ... important notes

  1. what is elasticsearch?
    Elasticsearch is a powerful and popular open source distributed search and analytics engine.

  2. Structured vs. unstructured (full-text) data
    Data predominantly comes in two flavors: structured and unstructured. The fundamental differentiator between these two categories is the way the data is stored and analyzed. Structured data follows a predefined schema/model, while unstructured data is free-form, unorganized, and schema-free

  3. In addition to structured and unstructured data, there’s another category: semi-structured data. This data falls pretty much in between structured and unstructured data. It is nothing but unstructured data with some metadata describing it

  4. For unstructured data, Elasticsearch offers full-text search capabilities that allow us to search for specific terms or phrases within large amounts of unstructured text. Full-text (unstructured) queries try to find results that are relevant to the query.

  5. Elasticsearch handles both structured and unstructured data efficiently. One of its key features is its ability to index and search both structured and unstructured data in the same index.

  6. Search engines can handle largescale data, indexing it and searching it much faster than traditional databases

  7. Search engines are designed from scratch to handle unstructured data, while databases are optimized for handling structured data.

  8. Search engines can quickly index large amounts of text data and make it searchable. This process typically involves breaking the text data into tokens and building an inverted index, which maps each token to the documents that contain it

  9. They can also handle high query loads and large amounts of data and can scale horizontally by adding more nodes to a cluster

  10. Elasticsearch is an open source search and analytics engine

  11. Furthermore, Elasticsearch runs supervised and unsupervised machine learning algorithms on our data

  12. Elasticsearch is an “eventually consistent” search engine.

  13. Elasticsearch is not suitabel for:

  • Transactional data—Elasticsearch is an “eventually consistent” search engine, which makes it unsuitable for applications that require immediate consistency, such as financial transactions. For these types of use cases, consider using a traditional relational database or a NoSQL database like MongoDB

  • Elasticsearch can handle high-read workloads, but it is not optimized for high-write workload

  1. Elasticsearch is not a relational database and does not support traditional relational database features like transactions, foreign keys, and complex join operations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment