Mastering Elasticsearch - Second Edition

More Information
Learn
  • Understand Apache Lucene and Elasticsearch's design and architecture
  • Use and configure different scoring models to alter the default scoring mechanism
  • Choose the appropriate amount of shards and replicas for your deployment
  • Improve user search experience by utilizing Elasticsearch functionality
  • Control segment merging and learn why Elasticsearch uses merging
  • Develop custom Elasticsearch plugins and cover detailed examples of how to extend Elasticsearch by writing your own plugins
  • Apply your knowledge to create scalable, efficient, and fault tolerant clusters and monitor your cluster by using and understanding the Elasticsearch API
About

Elasticsearch is a modern, fast, distributed, scalable, fault tolerant, and open source search and analytics engine. Elasticsearch leverages the capabilities of Apache Lucene, providing a new level of control over how you can index and search even huge sets of data.

This book covers intermediate and advanced functionalities of Elasticsearch and walks you through its internals including caches, the Apache Lucene library, and its monitoring capabilities. You'll learn about practical usage of Elasticsearch configuration parameters and how to use the monitoring API.

With this book, you'll delve into Elasticsearch's query rewrite, query template, bulk operation, document grouping, and function score queries. You will also learn how to improve user search experience, index distribution, segment statistics, and merging. By the end of the book, you will be able to enhance Elasticsearch's performance and create your own Elasticsearch plugins.

Features
  • Understand Apache Lucene and Elasticsearch's design and architecture
  • Design your index, configure it, and distribute it, not only with assumptions, but with the underlying knowledge of how it works
  • Improve your user search experience with Elasticsearch functionality and learn how to develop your own Elasticsearch plugins
Page Count 434
Course Length 13 hours 1 minutes
ISBN 9781783553792
Date Of Publication 27 Feb 2015

Authors

Rafał Kuć

Rafał Kuć is a software engineer, trainer, speaker and consultant. He is working as a consultant and software engineer at Sematext Group Inc. where he concentrates on open source technologies such as Apache Lucene, Solr, and Elasticsearch. He has more than 14 years of experience in various software domains—from banking software to e–commerce products. He is mainly focused on Java; however, he is open to every tool and programming language that might help him to achieve his goals easily and quickly. Rafał is also one of the founders of the solr.pl site, where he tries to share his knowledge and help people solve their Solr and Lucene problems. He is also a speaker at various conferences around the world such as Lucene Eurocon, Berlin Buzzwords, ApacheCon, Lucene/Solr Revolution, Velocity, and DevOps Days.

Rafał began his journey with Lucene in 2002; however, it wasn't love at first sight. When he came back to Lucene in late 2003, he revised his thoughts about the framework and saw the potential in search technologies. Then Solr came and that was it. He started working with Elasticsearch in the middle of 2010. At present, Lucene, Solr, Elasticsearch, and information retrieval are his main areas of interest.

Rafał is also the author of the Solr Cookbook series, ElasticSearch Server and its second edition, and the first and second editions of Mastering ElasticSearch, all published by Packt Publishing.

Marek Rogoziński

Marek Rogoziński is a software architect and consultant with more than 10 years of experience. He has specialized in solutions based on open source search engines such as Solr and Elasticsearch, and also the software stack for Big Data analytics including Hadoop, HBase, and Twitter Storm. He is also the cofounder of the solr.pl site, which publishes information and tutorials about Solr and the Lucene library. He is also the co-author of some books published by Packt Publishing. Currently, he holds the position of the Chief Technology Officer in a new company, designing architecture for a set of products that collect, process, and analyze large streams of input data.