0

主キー「id」でsphinxから単一の行を選択しようとしていますが、sphinx APIは何も出力せず、コマンドラインからのsphinxはエラーを出力します。代わりに、他のフィールドを検索すると機能します。

「remote_id」「title」などの他のフィールドよりも主キー「id」を持っています...

例 (動作しない):

require("sphinxapi.php");

$cl = new SphinxClient;
$cl->setServer("localhost", 9312);
$cl->SetMatchMode(SPH_MATCH_EXTENDED); // or EXTENDED2
$cl->setLimits(0,10);
$query = "@id 5526";

$result = $cl->query($query);

var_dump($result);

例(作業中):

require("sphinxapi.php");

$cl = new SphinxClient;
$cl->setServer("localhost", 9312);
$cl->SetMatchMode(SPH_MATCH_EXTENDED); // or EXTENDED2
$cl->setLimits(0,10);
$query = "@remote_id 11964";

$result = $cl->query($query);

var_dump($result);

主キーで特定のレコード (行) を取得するにはどうすればよいですか?

4

1 に答える 1

0

おそらくsetSelectそれを仮想フィルターにエイリアスするために使用できますsetFilter

しかし、より簡単かつ迅速に、SetIDRange http://sphinxsearch.com/docs/current.html#api-func-setidrangeを使用できます


それよりも

 $query = "@id 5526";
 $result = $cl->query($query);

だろう

 $cl->setIDRange(5526,5526);
 $result = $cl->query('');
于 2013-06-25T10:16:11.833 に答える