Reputation: 21
I am using Oracle 11g2 and we are having a schema where few tables are having more than 100 million rows (some of them are Varchar2 100 bytes). And we have to frequently do the LIKE based search on those tables. Sometimes we need to join the tables also. Insert / Updates are also happening very frequently for such tables (1000 insert / updates per second) by other applications.
So my question is, for my User Interface, should I use Apache Solr to let user search on these tables instead of SQL queries? I have tried SQL and it is really slow (considering amount of data I am having in my database).
My requirements are,
Can you suggest if I should go with Apache Solr, or another solution for my problem ?
EDIT : Should I consider Cassandra ? Is it having joins between tables ? Is it having LIKE based search or VARCHAR items of DB ?
Upvotes: 0
Views: 164
Reputation: 8658
I think you can use Solr in your case and you will get the data faster and accurate. About the latest...there would be some lag there... as data needs to added/updated in solr index.
I have used Solr in my application...(I have used DataImportHandler) I am updating the Solr index after 20 mins... that means there is 20 mins lag for the latest update in the database.
But users are fine with it as its faster than Oracle search ...:) Its been three years... its working fine and there is no issue with it.
Upvotes: 0
Reputation: 1764
You should consider using Hibernate Search for your requirement. You can use This link to get started. As you are using tables for your application, you will have lot of facilities like ORM and also Full Text Search through this module. If you want to use Apache Solr, you may have to make necessary code to sync data from your database to Apache Solr Synchronization.
Hope, this may help you
Thanks
Upvotes: 1