Sphinx实时更新属性

时间:2012-07-07 16:20:46

标签: php mysql sphinx

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

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

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

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

感谢。

1 个答案:

答案 0 :(得分:0)

UpdateAttribute是正确的方法。

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

更好的解决方案发布在sphinxforums上。它使用齿轮手和现有的UDF。 (技术上为sphinx C API编写UDF更好,但这更容易)请参阅here