制限付きクエリー・ルーティング

専門家のみを対象として、制限付きクエリー・ルーティングでは、よく実行するクエリーを1つのパーティションに制限する機能をサポートしています。

DSE Searchの制限付きクエリー・ルーティングは、よく実行するクエリーを1つのパーティションに制限する機能をサポートしているデータ・モデルがあるアプリケーション向けです。この機能は専門家のみが使用するものであり、慎重に使用する必要があります。クエリーをパーティション・キーのリストに基づいてごく少数のノードに制限できます。また、クエリーを1つのトークン範囲に基づいて制限することもできます。クラスター・トークン配置を十分に理解していない限り、トークン範囲ルーティングを使用しないでください。

パーティション・キー・ルーティング

ルーティングをパーティション・キーで指定するには、route.partitionクエリー・パラメーターを使用し、その値を1つ以上のパーティション・キーに設定します。DSE Searchでは、指定されたパーティション・キーを持つノードだけを対象にクエリーを実行します。縦線のデリミターで複合キーのコンポーネントを区切ります。コンマ・デリミターで異なるパーティション・キーを区切ります。

例:

route.partition=k1c1|k1c2,k2c1|k2c2 . . .

実際のパーティション・キー値にデリミター文字が含まれている場合は、円記号を使用してデリミターをエスケープします。

Solr HTTP APIクエリーとSolr CQLクエリーをルーティングできます。この例では、複合パーティション・キーがあるテーブルでルート・クエリーを使用する方法を示します。ただし、複合キーの構成要素は、"nike"と"2"です。

http://localhost:8983/solr/test.route/select?q=*:*&indent=true&shards.info=true&route.partition=nike|2,reebok|2

または、CQLでは、以下のようになります。

SELECT * FROM test.route WHERE solr_query='{"q" :"*:*", "route.partition" :["nike|2","reebok|2"]}'

トークン範囲ルーティング

簡潔さのため、トークン範囲別ルーティングよりも、パーティション範囲別ルーティング・クエリーを推奨します。トークン範囲別ルーティングを指定するには、route.rangeクエリー・パラメーターを使用し、その値をコンマを使いながら範囲を表す2つのトークン値に設定します。

例:

route.range=t1,t2

DSE Searchでは、指定されたトークン範囲を持つノードだけを対象にクエリーを実行します。