首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mysql搜索最新数据,使用solr全文搜索旧数据

使用mysql搜索最新数据,使用solr全文搜索旧数据
EN

Stack Overflow用户
提问于 2012-05-04 07:26:07
回答 2查看 309关注 0票数 0

我用php和mysql构建了一个web应用程序。我想搜索数据在3-4表上做全文搜索。我正在考虑lucene solr项目。

我的问题是:将今天的数据保存在单独的mysql表中是正确的,然后它只对今天的数据进行简单的搜索,如果找到任何东西,它就尝试在lucene上进行全文搜索,但在旧数据中(从昨天到过去)?

我的web应用程序将数据保存在mysql中,但我希望用户可以对这些数据进行全文搜索。我可以运行一个作业,一天4次从msql导入数据到lucene solr,但是如果mysql上的数据被用户更改,solr还没有开始导入和索引数据,用户应该能够在任何情况下搜索和查看最近修改的数据。

将lucene solr与mysql和php集成的最佳方法是什么?

有没有可能发送一个修改命令到solr ftom php来更新用户更改的数据,但确保只有在mysql事务进行得很好的情况下才在solr上提交数据,所以最终我在mysql中提交了数据,在lucene中提交了数据,如果web应用程序回滚出现问题,就像在mysql中一样,就像在solr中一样?

EN

回答 2

Stack Overflow用户

发布于 2012-05-04 07:33:46

如果您正在考虑实现Lucene,那么表的数量并不重要。至于最好的方法,我会说实现Zend的Zend Search Lucene

Zend Search Lucene这样lucene库有自己的数据标记化和搜索机制。他们基本上是从数据库中获得数据,他们将从数据库中构建搜索文件并将其单独存储,如果出现问题,则只需重建搜索。

关于在数据库更新时更新Lucene数据的可能性,完全取决于您实现的解决方案。另一方面,Zend Search Lucene可以做到这一点。

票数 0
EN

Stack Overflow用户

发布于 2012-05-11 01:16:53

你可能会遇到不一致的搜索结果,其中一些来自MySql,另一些来自Solr。

想一想:

  1. 在MySQL
  2. 中执行所有全文搜索在Solr

中执行所有全文搜索

实现Solr意味着保持MySQL->Solr和其他基础设施之间的数据同步。

看看是否可以通过使用MySQL的FULLTEXT索引和MATCH() AGAINST()查询子句来实现所需的功能。它将使您的应用程序简单得多。

http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10440726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档