Java – Elastic search – integrate with java web application


I am developing a java web application (ERP system). I have completed basic flows. Now as per my client requirement, we need to implement few search options. (i.e. Employees, Users, Invoices, Inventory, etc.)
I am planning to implement a search engine for this. I feel Elastic search is good option for my search (Please suggest me, if any other good options).

Please suggest me some good documentation, on how to integrate Elastic search with a java(Spring+Hibernate) web application.

(Point me to right place, if I am asking any repeated question.)

Best Solution

I don't think there is yet really any tutorial. I started writing one some days ago. When finished it will be published on website.

That said, I built a web application, ScrutMyDocs, with the idea that it could be an example of "how to integrate Elasticsearch in a Web App". Source code is available on Github so you can find some ideas from here.

Also, note that this project uses Spring as well and my Spring factories for Elasticsearch project. It could help you also.

About Hibernate, on a previous project, I started to add listeners on entities to automatically index or remove documents in Elasticsearch. But at the end, I removed all that stuff because I think it's not the right way to do that. Instead, I was calling Elasticsearch index and remove methods from my application Service Layer each time I was calling merge or delete DAO Hibernate methods.

Hope this helps