Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Lucene-based database search engine

I am planing to add search feature in my web application. I am using Struts 2 framwork for the application and the items that will be searched are strored in a Relational database. In order to achieve a full text search engine I have following doubts :

  1. For database based search engine should I use just lucene or some other utility based on Luncene like Solr, luSql, Compass etc.
  2. In case of Solr, can it be embeded in to the web applcation rather than deploying it as a seaparate WAR.
  3. Is solr used to search relational databases or just file systems
like image 619
Abhay Avatar asked Feb 26 '26 15:02

Abhay


2 Answers

  1. Depends on the level at which you want to operate. Since you are already inside a Java app, it's pretty easy to use the Lucene API, index your data and then use it again to search. Anything that you can do with Solr you could do with Lucene but probably with much more logic and glue code.

  2. Yes, have a look at http://wiki.apache.org/solr/Solrj#EmbeddedSolrServer

like image 97
cherouvim Avatar answered Feb 28 '26 15:02

cherouvim


look at hibernate search. i am pretty sure it fits ur needs as the data that is stored in DB is what will be indexed and hence made available for search. as far as I remember Solr stores the index on filesystem (though there might be a plugin to store the index in DB).

u am also look at www.elasticsearch.com. it is from the creator of compass. i think there will be limited support provided for compass.

like image 30
Aravind Yarram Avatar answered Feb 28 '26 14:02

Aravind Yarram