No Relation To...


Tuesday, October 7, 2008

Book review and NHibernate Search

Ayende, one of the active bees behind the NHibernate portfolio, has a nice review of Hibernate Search in Action on his blog.

By the way, Ayende has ported Hibernate Search to .net : NHibernate.Search. I don't think there is documentation specific to the project but the Hibernate Search documentation is just as useful.

I don't know Ayende personally, but I can only admire someone that blogs more that I can tweet and still have a full time job :)

Labels: , ,

Thursday, September 11, 2008

Hibernate Search book preview final review: hitting where it hurts for the better

We just had our third review of Hibernate Search in Action. Receiving this feedback has been a humble experience. Lot's of good reviews (good) and some critical ones (even better). Every imperfection we left aside came back in the spot lights of our reviewers.

Based on this feedback, we have been working hard the last two weeks to improve a lot the manuscript:

  • clearer code transcripts with more inline annotations
  • better separation between different parts of the same example (Hibernate API versus Java Persistence API)
  • the code has been updated to the latest Hibernate Search version and cleaned up a lot (no more warning, same comments as in the book)
  • the code now contains README files for easier navigation, ant scripts, Eclipse and IntelliJ descriptors
  • a nice appendix summarizing all annotations, Hibernate Search APIs and Lucene Query classes
  • added an index: I wish I could plug Hibernate Search on the book, that one was painful
  • added a section on testing (mocking, in-memory integration testing, performance testing)
  • better explanation on how query and analyzer are interwoven
  • add the Explanation API description
  • clearer introduction for each chapter
  • much more references than before making book navigation easier
  • all references in the book are up to date. No more Chapter XX ;)
  • improvements on the clustering chapter

The code is almost ready for prime time, we will publish it as soon as we find the right vehicle for it.

Thanks to all our reviewers. While I am not sure I appreciate the recent sleep depravation, this definitely improved the book a lot.

As usual, you can get the preview version electronically at Manning, it has all the chapters and I hope to get the latest changes uploaded soon.

Labels: , ,

Monday, August 11, 2008

Hibernate Search in Action: all chapters written

That's now official, I handed over the last chapter to the publisher yesterday. All chapters will be available to the early access program in the next few days. The journey is not finished yet. A lot of reviewing and correction are at sight. If you have feedback, now is the time :)

The last last few chapters out cover:

  • Hibernate Search filters
  • Performance
  • Cluster and scalability

Filters are a neat feature allowing to apply cross cutting restrictions on Lucene queries: you might want to filter to the latest month item creations or filter according to the security level the user is granted. Filters do just that in a declarative fashion: enable one or more of them by their names.

The chapter of performance is a mix of existing content and new content focused around performance at various stages: indexing and searching. It also includes an explanation about index sharding.

The last chapter describes problems that arise when you try to cluster Lucene and how Hibernate Search addresses them. We primarily describe the asynchronous clustering approach implemented out of the box in Hibernate Search (using JMS). The chapter also describes how to customize Hibernate Search to your own clustering strategy to meet your architectural needs.

Now off to the correction marathon :)

Labels: ,

Thursday, May 29, 2008

Two third of Hibernate Search in Action out!

We have just pushed another set of chapters for Hibernate Search in Action and reached the symbolic limit of 2/3. Yoohoo! We have also enhanced some of the existing chapters based on the feedbacks we received and the perseverance of our editor. They have just shipped as part of the early access program available in ebook format. I am very happy with the new chapters especially the description of analyzers in chapter 5.

I describe the use of Hibernate Search and the new Solr integration (coming up in Hibernate Search 3.1) to enable synonym, phonetic, n-gram and snowball search. Snowball is an algorithm that deduces the root of a word enabling searches for words of the same family: work, working, worker will all be reduced to the same root (called stemmer). The chapter both aims at demystifying analyzers and providing a concrete approach on how to use them. I really enjoyed writing it, I hope you will like reading it.

Beyond analyzers, here is a small list of the subjects I am personally happy with in the book:

  • the introduction gives you a nice picture of what search is, why it matters nowadays and how it can be implemented in todays applications
  • custom bridges: chapter 4 gives some nice examples of custom bridges including how to write one for composite identifiers
  • mapping associations has always been a confusing subject for beginners. Chapter 4 comes with some nice diagrams that should clarify this topic
  • chapter 5 explores when and how to use synchronous indexing, asynchronous indexing and clustered indexing (through JMS) and describes what is going on under the hood

We (and by we, I mean John) also have finished the Lucene dedicated content. While Hibernate Search hides the gory details of indexing and searching, its let you use all the flexibility of Lucene queries. Understanding Lucene is key and we have added the necessary knowledge you need for your daily work with Hibernate Search.

Let us know what you think and, of course, go buy the e-book :)

Labels: ,

Tuesday, February 26, 2008

Hibernate Search in Action book

I am very please to announce that a book on Hibernate Search is on its way. John Griffin and I are co-authoring Hibernate Search in Action from Manning.

The goal of this book is to give a good practical understanding of Hibernate Search and guide people through the steps of adding full text search capability into their Hibernate based application. The book also covers the necessary Lucene knowledge you need to use Hibernate Search on a daily basis.

An early version of the book is already available through the MEAP program. Five chapters are already out there. If you are interested, give it a try, we welcome your feedback!

Labels: