Solrページネーション(カーソル)の使用

ページネーション(カーソルとも呼ばれる)では、カーソルによる結果のスキャンをサポートしています。Solrページネーションの制限事項が適用されます。

DataStax Enterpriseでは、ネイティブのドライバー・ページングとSolrのカーソルベースのページングが統合されています。ページネーション(カーソルとも呼ばれる)では、カーソルによる結果のスキャンをサポートしています。Solrページネーションの制限事項が適用されます。CQL SolrクエリーおよびSolr HTTP APIを使用できます。

注: Cassandraページネーションが有効になっている状態でCQL Solrクエリーを使用すると、ページネーションが構成されている場合にSolrではそのクエリー結果キャッシュを使用することができないので、パフォーマンスが低下する場合があります。大規模な結果セットからページネーションを行わない場合は、CQL Solrクエリーの実行時にページネーションを無効にします。ドライバーのドキュメントを参照してください。

CQL Solrクエリーでのカーソルの使用 

CQL Solrクエリーでドライバーを使用する場合、ドライバーがページネーション(カーソルとも呼ばれる)を使用する場合にのみページネーションを使用するように指定できます。dse.yamlファイルでcql_solr_query_pagingオプションを設定すると、driverに設定されます。CQL Solrクエリーでカーソルをオフにするには、dse.yamlファイルでcql_solr_query_pagingオプションをoffに設定します。CQLおよびJSONクエリーでpaging:driverパラメーターを使用し、ページネーションを動的に有効化することができます。

詳細については、ドライバーのドキュメントを参照してください。ソート句の使用は必須ではありません。ただし、ソート句を指定しなければソートは定義されません。

SELECT * from ks.cf where solr_query='{"q":"*:*", "sort":"id asc, id2 asc"}'
SELECT * from ks.cf where solr_query='{"q":"*:*"}' 

HTTP APIでのカーソルの使用 

Solr HTTP APIでカーソルを使用する場合、必ずしもソート句を指定する必要はありません。ただし、ソート句を指定しなければソートは定義されません。思い込みでソートの方法を決め付けることなく、「CQL Solrクエリーの使用」の手順に従ってください。