CQLマップ値にタプルとUDTを使用する
CQLマップ値にタプルとUDTを使用する際の回避策。
DSE Searchでは、CQLマップ値としてのタプルとUDTの使用はサポートされていません。マップに類似したデータ・モデルをシミュレートするには以下の回避策を使用してください。
手順
-
マップ・キーの内容を表す型フィールドを持つタプルまたはUDTのコレクションを宣言します。
タプル型を作成します。タプル型はタプルとUDTに適用されます。
CREATE TYPE Address (type text, street text, city text)
UDTのテーブルを作成します。
CREATE TABLE Person (name text primary key, addresses set<frozen<address>>)
または、タプルのテーブルを作成します。
CREATE TABLE Person (name text primary key, addresses set<frozen<tuple<text, text, text>>>)
-
タプルまたはUDTのこのコレクションをマップに類似したデータ・モデルとして使用すると、指定された型(キー)の人物の住所をクエリーできます。
たとえば、自宅の住所がロンドンである人物をクエリーするには、以下のように入力します。
{!tuple}addresses.type:Home AND addresses.city:London