我正在使用Oracle 11g2,我们有一个架构,其中几个表的行数超过1亿(其中一些是Varchar2 100字节)。我们必须经常在这些表上进行基于LIKE的搜索。有时我们也需要加入表格。对于其他应用程序的此类表(每秒1000次插入/更新),插入/更新也经常发生。
所以我的问题是,对于我的用户界面,我应该使用Apache Solr让用户搜索这些表而不是SQL查询吗?我已经尝试过SQL并且它非常慢(考虑到我在数据库中拥有的数据量)。
我的要求是,
你能否建议我应该使用Apache Solr,还是解决我的问题?
编辑:我应该考虑一下卡桑德拉吗?表之间是否有连接?它是否具有基于LIKE的搜索或DB的VARCHAR项目?答案 0 :(得分:1)
您应该考虑使用Hibernate Search来满足您的需求。您可以使用This link开始使用。当您使用表格作为您的应用程序时,您将拥有许多设施,如ORM和通过此模块的全文搜索。如果要使用Apache Solr,则可能必须使用必要的代码将数据库中的数据同步到Apache Solr Synchronization。
希望,这可能会对你有所帮助
谢谢
答案 1 :(得分:0)
我认为您可以在您的情况下使用Solr,您将获得更快更准确的数据。关于最新......那里会有一些滞后...... 因为需要在solr索引中添加/更新数据。
我在我的应用程序中使用了Solr ...(我使用过DataImportHandler) 我在20分钟后更新Solr指数...... 这意味着数据库中的最新更新有20分钟的延迟。
但是用户很好,因为它比Oracle搜索更快...... :) 已经三年......工作正常,没有问题。