2012-07-19 76 views
0

我想创建一个数据库Web发布者。Solr搜索复制的MySQL数据库

Solr搜索功能完全符合我的需求(分面搜索,全文搜索等)。

我的问题是我需要数据在网上同步。

我读过MySQL数据库必须导入Solr。

我打算使用一个源MSSQL数据库,在Web服务器上的MySQL数据库上进行复制。我需要在这个数据库上使用Solr。

是否有解决方案,以便复制SQL数据库上的更改可以自动在Solr索引上回显?每次修改时我都不想导入整个数据库,这会使我的产品使用起来很复杂。

谢谢。

回答

0

你不需要每次索引完整分贝,这就是Delta import的目的。您只需将其配置为在需要的时候导入deltas。

+0

谢谢你我会试试这个。 – user1537647 2012-07-20 08:46:20

0

您可以使用DataImportScheduler来保持数据同步。 这是保持Solr索引同步的最常用方法。

还有其他一些方法,您可以在您的数据库中设置一个触发器来触发Solr的REST服务,以反映所有插入/更新/删除文档的更改。另外,由于db(通常)用于处理某些应用程序,因此可以设置一个Filter(javax.servlet for Java Web应用程序)来拦截请求,并在Solr到达数据库之前将它们推送到Solr。

+0

好的,谢谢你的回答我会探索这些解决方案!过滤器的概念是间断性的,但在我的情况下,数据更改是在客户端服务器数据库上执行的(因为客户端管理数据库并公布它,但他们需要过滤在网络上公开之前公开的信息),以及而不是复制到将使用solr应用程序的Web服务器数据库上。所以我认为这不会有用。我会尝试DataimportScheduler。 – user1537647 2012-07-20 08:45:46

+0

和“触发想法”? – 2012-07-20 11:08:10