Sphinx字段搜索运算符不能使用PHP的SphinxClient

问题描述:

I can't seem to get the field search operator working from php. A search like @first Bob works fine from the command line search tool, but when done from PHP it returns no results. (Just searching Bob from PHP also returns lots of results with a first name of Bob.)

Here's what I'm doing:

$sphinx = new SphinxClient();
$sphinx->setServer("localhost", 9312);
$sphinx->setMatchMode(SPH_MATCH_EXTENDED2);
$result = $sphinx->query("@first Bob");

It's been a few years since I've done much with Sphinx. Any idea what I've missed?

This is with Sphinx 2.0.8 and PHP 5.3.3

At a guess, because you're not specifying an index to search it's trying to search some index(es) that doesn't have the field, and it's choking.

$result = $sphinx->query("@first Bob",'index1'); 

Use getLastError/getLastWarning to see error messages!