0

構成ファイルのインデックスごとに 2 つの sql_attr_uint 値を使用する必要があります。以前の投稿から、コマンドライン経由の検索コマンドをあまり信用しないことがわかりました。 Sphinx PHP API の順序は検索デーモンとは異なります

私の現在の問題は、PHP API からアクセスしたときに両方の sql_attr_uint 値を取得できないことです (ただし、コマンド ラインから検索を使用すると、両方の sql_attr_uint 値が表示されます)。

以下は私の設定ファイルです.. http://pastebin.com/30Si7bw5

PHP API 経由で結果を取得すると、sql_attr_uint table_id のみが表示され、pub_id と呼ばれる sql_attr_uint は表示されません。

なぜこれを行うのか、誰かが提案できますか?

$cl = new SphinxClient();
$cl->SetServer($CONF['sphinx_host'], $CONF['sphinx_port']);
$cl->SetMatchMode($mode);
$cl->SetLimits(0, 1000);
// below line commented out atm - to only show those rows with this sql_attr_uint of 760 (is this the correct syntax?)
//$cl->SetFilter ( 'pub_id', array(760), FALSE );
$result = $cl->Query($q);
4

1 に答える 1

2

適切にsearchdを再起動していないと思います。まだ古いインデックスを使用しています。

インデックスを再作成するときは、必ず --rotate を使用して searchd をリロードさせてください。

それに失敗します。searchd を完全に停止し、インデックスを再作成して、クリーン スタートアップを開始します。

(あなたの構文は正しいです、何か他のことが起こっています)

于 2012-11-02T15:07:40.457 に答える