【发布时间】:2023-03-05 21:39:02
【问题描述】:
我在 php 和 mysql 中构建了一个 Web 应用程序。我想搜索对 3-4 表进行全文搜索的数据。我正在考虑 lucene solr 项目。
我的问题是: 将今天的数据保存在单独的 mysql 表中是否正确,然后它只对今天的数据进行简单搜索,如果找到任何内容,它会尝试在 lucene 上查询全文搜索但在旧数据(从昨天到过去)中查询?
我的网络应用程序将数据保存在 mysql 中,但我希望该用户可以对该数据进行全文搜索。我可以每天运行 4 次将数据从 msql 导入到 lucene solr 的工作,但是如果用户更改了 mysql 上的数据并且 solr 还没有开始导入和索引数据,那么用户无论如何都应该能够搜索和查看最近的修改数据。
将 lucene solr 与 mysql 和 php 集成的最佳方法是什么?
是否可以向 solr ftom php 发送修改命令以更新用户更改的数据,但确保仅在 mysql 时才在 solr 上提交数据 事务顺利完成,所以最后我已经在 mysql 中提交数据并在 lucene 中提交数据,如果 Web 应用程序回滚出现问题,就像在 mysql 和 solr 中一样?
【问题讨论】:
-
请考虑编辑您的问题以包含有关您对该项目的预期范围的详细信息。现在您的表中有多少行?每天多少。你想在 Solr/Lucene 中存储多少历史?我的感觉是 mysql 是一种工程解决方案,可以非常有效地存储数据(和查询),但必须权衡您必须为列定义使用类型化数据、数据必须干净输入等。搜索引擎首先是为了通用性而设计的数据,搜索速度排名第二,磁盘和 RAM 的有效使用排名第三(与 DB 相比)。做很多研究!祝你好运。