我有一个承载 4 个 MediaWiki 实例的 MediaWiki 服务器,并且认为我应该为每个实例运行一个单独的sphinx搜索实例。我通过为每个文件创建单独的 sphinx.conf 文件并将它们配置为在单独的端口上运行来做到这一点
sphinx 的设置非常简单,允许我为每个实例指定一个自定义端口,一直到SphinxSearch.php ,它似乎使用wgSphinxSearch_port重新定义了端口。我注释掉了这一行,搜索似乎适用于所有实例。
我遇到的问题是 php 在页面顶部抛出错误:
警告:assert() [function.assert]: Assertion failed in /var/lib/mediawiki-1.11.0/extensions/SphinxSearch/sphinxapi.php 第 251 行
我知道我可以在php.ini中关闭display_errors,但这不是一个真正的解决方案。
有没有其他人遇到过这个问题?我是唯一一个运行多个searchd实例的人吗?
为什么会引发此错误,我该如何解决?
该行断言指定的端口是一个整数。我的猜测是断言失败,因为 wgSphinxSearch_port 现在未定义。
我不知道你为什么需要多个 searchd 实例。是什么阻止您为每个 wiki 数据库使用单个实例和不同的索引?