0

索引付けされたドキュメントの全文から検索の抜粋を生成しようとしています。SphinxV2.02を使用しています。私のSphinxインデックスは正常に機能し、通常の結果は問題ありません。

ドキュメントをディスクからロードしているのでload_files、TRUEに設定しました。ファイルのWebパスとLinuxの直接ファイルパスの両方を試しました。

これが私の抜粋コードです:

$options = array( 'load_files' => TRUE );
$docs = array( /files/0/123/123.txt );
$words = 'gears';
$excerpts = $sphinxclient->BuildExcerpts( $docs, 'files', $words, $options );

抜粋を生成するためのSphinxドキュメントは次のとおりです。

BuildExcerpts抜粋を返すのではなく、毎回falseを返します。何が起こっていますか?通常のクエリと同時にこれを実行する必要がありますか?BuildExcerptsメインクエリから返された各ドキュメントで実行しています。

4

1 に答える 1

1

上記のBuildExcertpsのコードは正しいです。

問題は、私の「ファイル」インデックスが配布されており、SphinxBuildExcerpts呼び出しがそれを好まないことです。BuildExcerptsは実際にはそのインデックスの構成を参照しているように見えるため、BuildExcerpts()呼び出しで分散インデックスではなく、実際のインデックスの1つを参照する必要があります。

例:ファイルインデックスを5つのシャード、files_0、files_1などに分割します。インデックスとして「files」を使用すると、BuildExcerptsが壊れます。files_0または私のシャードのいずれかを使用すると正常に動作します。

$options = array( 'load_files' => TRUE );
$docs = array( /files/0/123/123.txt );
$words = 'gears';
$excerpts = $sphinxclient->BuildExcerpts( $docs, 'files_0', $words, $options );
于 2012-04-12T02:20:07.827 に答える