Whether you need full-text search or real-time analytics of structured data―or both―the Elasticsearch distributed search engine is an ideal way to put your data to work. This practical guide not only shows you how to search, analyze, and explore data with Elasticsearch, but also helps you deal with the complexities of human language, geolocation, and relationships. If you’re a newcomer to both search and distributed systems, you’ll quickly learn how to integrate Elasticsearch into your application. More experienced users will pick up lots of advanced techniques. Throughout the book, you’ll follow a problem-based approach to learn why, when, and how to use Elasticsearch features.
A great introduction not just on ElasticSearch, but on modern Search Engines in general. There's a good separation of content into 3 parts. First one introducing ES and how it works. Also chapters are having 'labels' if they're required to be read if you want to know how to work with ES. These chapters are mostly inside ES chapters that I personally deemed necessary to read. You can't fully utilize ES without knowing the insides. And after all you'll learn how Search Engines operate by doing so!
Now the big fun starts with the next parts that are almost exclusively about Searching and a bit of Data Modeling for ES. The later in my opinion should be much earlier in the book. I felt a bit alienated at times when I tried to design the data model in my mind while reading the search queries. If I knew it beforehand it would've been much easier for me. That's hardly a flaw, but it's something worth thinking if it's worth changing to be earlier in the book.
The Search queries are explained in an easy to understand language and with points. Oh, I love that author approach. It would've been really awkward otherwise to read long search queries and trying to make sense of them. That could've been also an O'Reilly editor suggestion, since it's a common for O'Reilly books to have great formatting.
The book however has some flaws that would've affected my rating if I read them before Part 2 and beyond of the book. At the time of writing this, the ElasticSearch documentation and book have 1:1 chapters and pages. Here lies the chicken or the egg first problem. Is the documentation sold as a book or the documentation was later rewritten to be as informative as the book?
If it's the first case - that would be very `swinish` and greedy; but if it's the second - then there's hope that at some point, ES:The Definitive Guide would have a 2nd edition that again would have to exceed the documentation and offer something more.
The examples. Now as awesome the information is, the code examples are haaard to follow. Not just two or three times - often! Can't blame ES for having communication only through REST, but the examples could've been more complete. In a previous review I praised a book for having 'stateless examples', which means that I don't have to follow the whole 1 or 2 chapters thoroughly to reach the result in a screenshot.
Understandable, ElasticSearch is greater at scale and providing longer and more complete code examples would definitely increase the book size with 50 more pages, but hey, one happy reader could only want more. :)
Either way, at the moment ElasticSearch:The Definitive Guide is a great book that really taught me a lot on Search Engines first and ElasticSearch second. That's more than I could ever ask for! :)
Although I would not recommend this book as a one-weekend read I can definitely say that the book is one of the most convenient, well-written and detailed technical books dedicated to one particular technology I’ve ever seen.
You can start small, read a couple of first chapters and you’d be good to go using it everyday without any problems at all. But if you’ll dedicate a bit more time into reading it and executing tons of examples that come with it you’ll become a die-hard Elasticsearch professional without you even noticing that =)
As I’ve said the book is very well written, although some parts of it are a bit outdated which definitely adds more sense to try to run the examples by yourself in order to check whether they work on current release or not.
"Elasticsearch: The Definitive Guide" is probably the best technical book I have ever read. As was mentioned in reviews, it is a great introduction to search engines in general, not just ElasticSearch.
The book is well-structured, it explains every aspect clearly, has a handful of practical examples and most likely will answer all of your "But what if..." questions. Just by reading a few chapters you will be able to easily use ElasticSearch for basic search. The more you read, the deeper your understanding of ElasticSearch will be and the more advanced search you will be able to build.
Overall, this book is fantastic!
However, since the date of publishing, a new major version of ElasticSearch was released (5.x, and 6.x will probably come out soon) and some parts of the book are outdated, as they were aimed at ElasticSearch 2.x so you will encounter a couple of issues.
Some of the differences between 2.x and 5.x, which might help you while reading the book:
1. Marvel is now simply called Monitoring and is a part of X-Pack. If you want to have monitoring feature, you have to install X-Pack and if you want to visualize monitoring data, you need to install Kibana as well. X-Pack itself is interesting, as it includes graphs, machine learning and more. Unfortunately, there is no information about this in the book, as X-Pack didn't exist at the moment of writing the book. 2. Analyze API, which now accepts request body and instead of a query string. 3. Filter context is now inside query (query > bool > filter, not filtered > filter). 4. search_type=count is deprecated, use size: 0 inside request body instead. 5. String type was replaced with text, while a combination of string + not_analyzed is now a keyword type, which is created by default when you index new documents. You can refer to it as FIELD.keyword during query time. 6. Groovy scripting language has been deprecated as of ElasticSearch 5.x and it will be removed from ElasticSearch 6.x. Painless is the new default scripting language, which is claimed to be several times faster and safer then Groovy and other alternatives. 7. The default similarity algorithm in ElasticSearch starting with 5.x is Okapi BM25 that is also based on TF/IDF. Prior to ElasticSearch 5.x, there was a different algorithm that was also based on TF/IDF (currently called classic similarity), which this book refers to. Nonetheless, the book also gives an overview of BM25 but there are not much details so you will have to check out Wikipedia. 8. As of 5.x and 6.x histograms now return buckets that have zero document count. 9. Significant Terms demo doesn't work with ElasticSearch 5.x at all. The dataset is working only with ElasticSearch 2.x 10. Geohashes are deprecated starting with ElasticSearch 5.x, also meaning that geohash_cell filter is deprecated too. 11. geo_distance_range is deprecated starting with ElasticSearch 5.x. 12. A section "When to Use Nested Objects" in Part VI describes disadvantages of this approach of modeling data. It is said that returning only matching nested objects is not supported. However, it is supported starting with ElasticSearch 2.x and the feature is called inner hits.
This book is dated, but the deep dive into search scoring concerns in parts 2 and 3 was fascinating and still seems very useful. Platforms like Elasticsearch offer all sorts of tools you can configure to - theoretically - improve the results of full-text search, like stemming and n-grams and stopwords and phonetic matching, but there are quite a few caveats and non-obvious tradeoffs involved.
Another (very basic) thing I find interesting about Elasticsearch in particular is its approach to sharding: you can't change the number of shards after you create an index. But you can query multiple indexes at once, even using a wildcard on the index name, and this has essentially the same performance characteristics as querying a larger number of shards within a single index. So to deal with your data outgrowing the number of shards, you're encouraged to just create more indexes.
Must read for any serious engineer working with ES
Although outdated, still a very relevant resource. The book is easily readable with lots of examples, helping you get from zero to production in a couple of days.
The title is accurate. Latest ES release version now 7.10 so there are some differences - eg removal of document types - but the overall sweep and thrust is the same. This book is still well worth the time it takes to read.
Despite being It was published in 4 or 5 years ago, it still readable for most parts. if you want to learn about Elasticsearch in very details manner such technical knowhow, configuration examples and a light and gentle introduction to Information retrieval, this book is for you. I know some of us are very impatience to finish a long book will go to tutorials and start crafting stuffs otherwise. But I would still recommend the book and Elasticsearch documentation if you want to avoid many trials and errors.
Good one. Takes you from the basics to advanced concepts. Everything is well explained.
The only drawback I see is that it covers an outdated version of ElasticSearch - 2.4. And new editions are not likely to happen. Still can be useful if you are starting with ElasticSearch.
Beware that the printed version is even more outdated (1.8) and ElasticSearch provides free access electronic version.
The book is kinda like a reference book, with the exception of the first chapter which touches everything lightly. But even in the following chapters, the content is quite shallow and mostly just describes the Elasticsearch interfaces. I think it's a good book if you are just interested in what functionalities Elasticsearch supports.
Though a little outdated, it is very well written technical book. It covers important and wide range of topics in depth.
Though I have been using elastic search in production for more than a year now, from this read, I learnt a lot of new things and details of many thing I used already.
"The book could easily be retitled as 'Understanding search engines using Elasticsearch.' Great job. Way beyond just simply using Elasticsearch." - Ivan Brusic
I'm new to ES and wanted to get a feel for the topic. I chose this book after seeing the table of contents - it felt like it covered many topics from basics to production deployment.
As a big software book, this one covers quite a few of its features - inside of a shard, various search-abilities, human language, administration and deployment - are all explained at length. This book is a great way to start for beginners like me and also will serve as a comprehensive guide for experienced professionals.
One down side, as mentioned by others, is that some of the examples are dated and you might have to tweak the keywords to get them to work.
Probably the best Elasticsearch book worth ready in 2014/15. That said Elasticsearch has evolve so fast that any physical book written is almost immediately full of outdated content and concepts. I will strongly recommend the official online documentations instead, but not until you've read this as a start.
This book definitely deserves its title. It is more than complete. It is not only comprehensive guide to Elasticsearch API and features but also a great source of knowledge on architecture of distributed, highly scalable applicataions like Elasticsearch. You will learn a lot about techniques and approaches to full-text search and document relevance scoring algorithms. Authors not only describe how something works but also WHY it works this way.
Moreover, book is very easy to read thanks to very short focused chapters. Practical chapters are interspersed with more theoretical ones, which gives very nice reader experience. I really enjoyed this book.
Even though this is one of the best product guides I've read, the constant flux nature of the particular software means that there a couple of inaccuracies in the book. All in all, gives a good insight into search, but requires a more thorough going over the code examples, especially in the script_score section
Also, worth mentioning, that this was written when the book was not yet finished, and was a part of the guide on elasticsearch.com
It's weird rating tech books. I had a specific need, and reading this book fulfilled that need. It's a very dense book, and I probably could've used a more tutorial/story/objective-driven example in the book, but following along with the book gave me the information that I need.
This is one of the few tech books I've ever read cover-to-cover, and mostly so that I could honestly put it in my Goodreads "Read" list.
Great book on Elasticsearch. Besides introduction of main Elasticsearch's features, it covers also many relevant areas, including Geo-search, selection/customization of analyzers, etc. Chapter about putting ES into production, with DO/DON'T DO list could be very helpful for many people who starting to use ES.
Copre praticamente tutti gli argomenti, dall'installazione all'ottimizzazione degli indici, passando per la costruzione delle query e l'amministrazione del server.
Non approfondisce particolarmente nessun argomento, ma fornisce buone basi da cui partire, e già così supera la 500 pagine, quindi è correttamente bilanciato, secondo me.
Very good book, but perhaps a bit heavy on the side of the process of querying data and light on general recommendations for deploying a server, such as when to scale or what a "good" server configuration looks like (hardware).
One of the best technical book I have ever read. Nicely written, straight to the point, good examples and not limited to Elasticsearch itself. Recommended to anyone interested in full-text search in general.