doutan5798 2014-01-24 16:16 采纳率: 100%
浏览 99
已采纳

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

  • 写回答

1条回答 默认 最新

  • dongmi4035 2014-01-24 16:18
    关注

    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!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?