Sphinx为PDO连接启用STP_MATCH_EXTENDED

时间:2016-03-23 17:14:44

标签: pdo sphinx

如果我的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的正确方法吗?

1 个答案:

答案 0 :(得分:0)

  

启用SPH_MATCH_EXTENDED的正确方法是什么?

SphinxQL默认使用扩展匹配模式

不需要做任何事情来使用它。

如果确实需要,您可以更改为使用其他匹配模式,但建议使用 NOT 。仅在内部Sphinx(现在!)实现扩展匹配模式,其他都是模拟的。