Sphinx搜索Api SPH_MATCH_EXTENDED无效

时间:2013-12-20 13:59:33

标签: php mysql search sphinx

我有以下PHP脚本,并且正在使用sphinx搜索API。我想搜索自定义关键字,但只能在MySQL数据库的标题列中搜索。

$s = new SphinxClient;
$s->setServer("localhost", 9312);
$s->setMatchMode(SPH_MATCH_EXTENDED);
$s->SetLimits(0, 10000);
$result = $s->Query("@(title) apple"); 

不幸的是,当我使用以下脚本时,它什么都不返回:

$s = new SphinxClient;
$s->setServer("localhost", 9312);
$s->setMatchMode(SPH_MATCH_EXTENDED);
$s->SetLimits(0, 10000);
$result = $s->Query("apple"); 

我获得了结果,问题是脚本会搜索所有列。

我做错了什么?

我还应该提一下,在localhost(使用XAMPP)上它可以像第一个例子一样正常工作。

1 个答案:

答案 0 :(得分:1)

我注意到一件事,你没有明确注意哪个索引要搜索 - 所以Query()搜索所有索引。

然后在一台服务器上,你有一个不包含@title的索引。

...为了获得最大的兼容性(所以无论其他索引是否添加到服务器,都应该搜索特定的索引......

$s->Query("@(title) apple",'my_index');