A practical guide to building fast, scalable, and flexible search solutions with clear and easytounderstand examplesAbout This Book
- Learn about the fascinating functionalities of ElasticSearch like data indexing, data analysis, and dynamic mapping
- Fine-tune ElasticSearch and understand its metrics using its API and available tools, and see how it behaves in complex searches
- A hands-on tutorial that walks you through all the features of ElasticSearch in an easy-to-understand way, with examples that will help you become an expert in no time
Who This Book Is For
If you are a web developer or a user who wants to learn more about Elasticsearch, then this is the book for you. You do not need to know anything about Elasticsearch, Java, or Apache Lucene in order to use this book, though basic knowledge of databases and queries is required.
What You Will Learn
- Configure and create your own index
- Set up an analysis chain and handle multilingual data
- Use the Elasticsearch query DSL to make all kinds of queries
- Utilize filters efficiently and ensure they do not affect performance
- Implement autocomplete functionality
- Employ faceting, the aggregations framework, and similar functionalities to get more from your search and improve your clients' search experience
- Monitor your cluster state and health by using Elasticsearch APIs as well as third-party monitoring solutions
- Learn what gateway and discovery modules are, and how to properly configure them
- Control primary shards and replica rebalancing
In Detail
This book begins by introducing the most commonly used Elasticsearch server functionalities, from creating your own index structure, through querying, faceting, and aggregations, and ends with cluster monitoring and problem diagnosis. As you progress through the book, you will cover topics such as starting Elasticsearch, creating a new index, and designing its proper structure. After that, you'll read about the query API that Elasticsearch exposes, as well as about filtering capabilities, aggregations, and faceting. Last but not least, you will get to know how to find similar documents by using similar functionalities and how to implement application alerts by using the prospective search functionality called percolator. Some advanced topics such as shard allocation control, gateway configuration, and how to use the discovery module will also be discussed. This book will also show you the possibilities of cluster state and health monitoring as well as how to use third-party tools.