私は弾性検索に基づいて検索エンジンを作成し、ajaxとjqueryを使用してウェブページに接続します。誰かが検索を入力すると、すべての一致結果が30未満の場合は1つのWebページに表示されます。ほとんどの場合、合計一致結果は600以上ですが、Webページは30の結果しか表示しません。コンソールで それは、全試合結果は650が、ウェブページ表示のみ30結果であり、ここでこのウェブページ内のjquery内のページ設定
data: Object
hits: Object
hits: Array[10]
max_score : 1.2333
total : 650
のように示しています。
ページングを実装するにはどうすればよいですか。私は、Webページ上でそれらの結果を表示するために使用されるコードは
$.ajax({
url: '/elastic/',
type: 'GET',
data: {"data": text},
success: function (response) {
$('.pagination').remove();
data = JSON.parse(response);
console.log(data);
for (var hit in data.data.hits.hits)
{
var source = data.data.hits.hits[hit]._source;
$('.div').append(source.user_name + '/' +
source.name +'<br/>');
}
}, searchText = text; }
ここで私は、ページネーションを実装する必要がありますされ、私はここで改ページの関連する例を探してみましたが、私は何も見つかりませんでした。毎回検索結果が異なります。場合によっては500件の一致結果があり、時には10件があります。 誰かに私にヒント/ガイダンスやページネーションの実装方法の例を教えてもらえますか?私は最後の数日から試しています。
@ Hkullekci私はfromとsizeパラメータを知っていますが、私はWebページにデータを表示しているとき、どうすればこれらのパラメータを使用できますか?どのようにページングを実装できますか?あなたの提案やヒント。私は本当に感謝します。 –
最初にページが読み込まれたときに、結果から合計のドキュメント数を取得できます。その後、この数とあなたのページサイズはあなたにページリストを与えます。このロジックは、コントローラ上で処理できます。次に、テンプレートにページ番号を書き込むことができます。その後、あなたのelasticsearchリクエストごとに、現在のページ番号を送信する必要があります。 – hkulekci
気高い私はあなたのポイントを得た。あなたに私に短い例を教えてもらえますか、すでにある場合は、私がより良いアイデアを得るために指摘することができますか? –