0

我正在尝试在网站上实现 sphinx 搜索服务器。该网站将用于内部跟踪。

数据库定义了一个状态,我已将其配置为 sphinx 中的一个属性。我需要实时更新,没有任何延迟。我还想使用磁盘索引,因此可以很容易地对索引进行定期更新,并且我避免使用 SphinxQL。

我发现这可以通过 sphinx API 的 UpdateAttribute 方法实现。我想知道的是是否可以从 MySQL 触发器调用 UpdateAttribute()?我想我可以有一个 php 脚本,它在获取请求中获取所需的输入,然后更新索引。请提出可能的实施方法,因为我还没有找到任何可行的方法。

如果您有任何其他方式来实现搜索以便我实时更新属性,请告诉我。

谢谢。

4

1 回答 1

0

UpdateAttribute 是正确的方法。

IMO 可以使用 MySQL 用户定义函数在 MySQL 触发器中调用此方法。但是,我认为这不是一个好的解决方案,因为这样的功能会非常复杂,并且会大大降低 mysql 更新速度。

一个更好的解决方案已发布到 sphinxforums。它使用 gearman 和为其存在的当前 UDF。(从技术上讲,为 sphinx C API 编写 UDF 更好,但这更容易)见这里

于 2012-07-10T08:41:14.563 回答