如果我的PDO连接如下:
$sphinx = new PDO('mysql:dbname=db;host=127.0.0.1;port=9306;charset=utf8', 'user', 'pass');
$sphinx->exec('SET CHARACTER SET utf8');
$sphinx->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
$sphinx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
我的疑问是:
$array = $sphinx->prepare("select * from `indexname` where MATCH @(title,body) hello world");
启用SPH_MATCH_EXTENDED的正确方法是什么?
如果我添加:
require ("sphinxapi.php");
$sphinx = new SphinxClient();
$sphinx->SetMatchMode(SPH_MATCH_EXTENDED);
$sphinx->SetArrayResult(true);
在PDO连接下,这是为PDO启用stp_match_extended的正确方法吗?
答案 0 :(得分:0)
启用SPH_MATCH_EXTENDED的正确方法是什么?
SphinxQL默认使用扩展匹配模式。
不需要做任何事情来使用它。
如果确实需要,您可以更改为使用其他匹配模式,但建议使用 NOT 。仅在内部Sphinx(现在!)实现扩展匹配模式,其他都是模拟的。