我有以下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)上它可以像第一个例子一样正常工作。
答案 0 :(得分:1)
我注意到一件事,你没有明确注意哪个索引要搜索 - 所以Query()搜索所有索引。
然后在一台服务器上,你有一个不包含@title的索引。
...为了获得最大的兼容性(所以无论其他索引是否添加到服务器,都应该搜索特定的索引......
$s->Query("@(title) apple",'my_index');