ホームページ  >  記事  >  バックエンド開発  >  coreseek の使用とページ分割の概要_PHP チュートリアル

coreseek の使用とページ分割の概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:04:34825ブラウズ

ページングに coreseek を使用する場合、データの総量を見つけるのは非常に困難です。それを取得するためのメソッド(関数)か何かを教えてくれるのかと思っていましたが、そうではありませんでした。
まず理解する必要があります:
num_matches:
現在返される結果の数、<= 制限設定値。
max_matches: 返される結果の最大数は 1000 です。ユーザーが表示できる検索結果は最大 1000 件のみです。これは csft_mysql.conf で設定されます。
total_found: 結果の合計数。クエリ基準を満たすインデックス内のドキュメントの総数。これは、クエリの返された結果の配列に含まれます。もちろん、クエリの前に設定する必要があることが前提です: $this->sc->SetArrayResult(true);
total: 返される結果の最大数。値は max_matches 値とtotal_found 値。 total_found の数が max_matches を超える場合は、total = max_matches、そうでない場合は、total = total_found になります。これは、クエリの返された結果の配列にも含まれます。もちろん、クエリの前に設定する必要があることが前提です: $this->sc->SetArrayResult(true);
このように、これらの属性を理解した上でページングを行うことができます。

合計ページングデータを実行するには、戻り値の合計を使用する必要があります。これは実際の戻り値を表すものではありません (戻り値が max_matches (1000) より大きい場合、実際の戻り値が 2500 の場合、取得できるのは 1000 のみです)。
コードは次のとおりです:

コードをコピーします コードは次のとおりです:

$this->sc->SetServer("127.0.0.1",9312);
$this-> ;sc-> SetArrayResult(true);
$this->sc->SetLimits($start,$page);
// 指定されたフルテキスト フィールドの内容を検索する必要がある場合は、次のように指定できます。拡張マッチング モード:
$this->sc- >SetMatchMode(SPH_MATCH_ANY);
$res = $this->sc->Query($where,"main");
$count = $res[ 'total'];

この \count は、ページングの合計データです。
その他の後続のページング方法は、スタイルとデータ構造に基づいており、同じにすることはできません。また、ページングも基本的なものであるため、ここではページングの詳細については説明しません。ここでは、この合計データの価値についてのみ説明します。なぜなら、多くの人は count($res['matches']) の値を取得しますが、これはページング後の戻り結果であり、10 または 20 などの値しか取得できないからです。ハハ、それは面白いでしょうね。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327775.html技術記事ページングに coreseek を使用する場合、データの総量を見つけるのは非常に困難です。それを取得するためのメソッド(関数)か何かを教えてくれるのかと思っていましたが、そうではありませんでした。 まず理解する必要があります: num_matches: 現在返されています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。