In my web app (built using Spring/Hibernate v4 + JPA v2.1 + PostgreSql 9.3), I have to provide the below functionalities:
- Text search from multiple database tables having few 10000's of rows
- Text search from files - doc, xls, pdf, htm (few 10000's)
- Spatial search/indexing: finding entities within a radius of x KM from a point
I found multiple options available but not able to weigh the pros/cons:
- Spring Data Solr - Possible for all 3 above but not real time indexing
- Hibernate Search - Uses Lucene only but not sure whether 2 is supported as could not find anything on that in its document, but 1 & 3 works. Though, indexes are updated automatically.
- Hibernate Spatial - Don't know whether the spatial support in Hibernate Search is same as this
- Solr & Hibernate Search combined to enjoy best features provided by both but could not find more info on this path
Which option could be used to support all my requirements? If someone can point out the pros/cons of each, that would be a big help in decision making.
Since data would be added very frequently in my app, real time indexing would be a big plus.