Book Image

Elasticsearch Server - Third Edition

By : Rafal Kuc
Book Image

Elasticsearch Server - Third Edition

By: Rafal Kuc

Overview of this book

ElasticSearch is a very fast and scalable open source search engine, designed with distribution and cloud in mind, complete with all the goodies that Apache Lucene has to offer. ElasticSearch’s schema-free architecture allows developers to index and search unstructured content, making it perfectly suited for both small projects and large big data warehouses, even those with petabytes of unstructured data. This book will guide you through the world of the most commonly used ElasticSearch server functionalities. You’ll start off by getting an understanding of the basics of ElasticSearch and its data indexing functionality. Next, you will see the querying capabilities of ElasticSearch, followed by a through explanation of scoring and search relevance. After this, you will explore the aggregation and data analysis capabilities of ElasticSearch and will learn how cluster administration and scaling can be used to boost your application performance. You’ll find out how to use the friendly REST APIs and how to tune ElasticSearch to make the most of it. By the end of this book, you will have be able to create amazing search solutions as per your project’s specifications.
Table of Contents (18 chapters)
Elasticsearch Server Third Edition
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Query rewrite


When debugging your queries, it is very valuable to know how all the queries are executed. Because of that, we decided to include the section on how query rewrite works in Elasticsearch, why it is used, and how to control it. If you have ever used queries, such as the prefix query and the wildcard query, basically any query that is said to be multiterm (a query that is built of multiple terms), you've used query rewriting even though you may not have known about it. Elasticsearch does rewrite for performance reasons. The rewrite process is about changing the original, expensive query into a set of queries that are far less expensive from an Apache Lucene point of view, thus speeding up the query execution.

Prefix query as an example

The best way to illustrate how the rewrite process is done internally is to look at an example and see which terms are used instead of the original query term. We will index three documents to our library_it index by using the following commands:

...