Solr型のマッピング

DataStax EnterpriseでSolr型をどのCQL型およびCassandraバリデーターにマッピングしているのかを示したリファレンス情報。

DataStax Enterpriseで、Solr型をどのCQL型およびCassandraバリデーターにマッピングしているのかを以下の表に示します。

Solr型 CQL型 Cassandraバリデーター 説明
AsciiStrField ascii AsciiType 標準Solr StrFieldとしてインデックスを作成
BCDIntField int Int32Type 2進化10進数(BCD)整数
BCDLongField bigint LongType BCD長整数
BCDStrField text、varchar UTF8Type BCD文字列
BinaryField blob BytesType バイナリー・データ
BoolField boolean BooleanType True(1、t、またはT)またはFalse(1、t、Tでない)
ByteField int Int32Type 8ビット数値を格納
DateField timestamp DateType ミリ秒精度で時間を示す
DecimalStrField decimal DecimalType 標準Solr StrFieldとしてインデックスを作成
DoubleField double DoubleType 倍精度(64ビットIEEEの浮動小数点数)
EnumField text、varchar UTF8Type ソート順序が事前に決められた、閉じたセット
ExternalFileField text、varchar UTF8Type ディスク・ファイルからの値
FloatField float FloatType 32ビットIEEEの浮動小数点数
GeoHashField text、varchar UTF8Type 文字列として表現されたGeohash lat/lonペア
InetField inet InetAddressType InetFieldは現在、Solrの標準StrFieldとして実装され、インデックスが作成されています。
IntField int Int32Type 32ビット符号付き整数
LatLonType text、varchar UTF8Type Latitude/Longitude 2-D点、latitude優先
LongField bigint LongType 長整数(64ビット符号付き整数)
PointType text、varchar UTF8Type 空間検索用の任意のn次元点
RandomSortField text、varchar UTF8Type 順序がランダムな動的フィールド
ShortField int Int32Type 短整数
SortableDoubleField double DoubleType 数値でソートされた倍精度値
SortableFloatField float FloatType 数値でソートされた浮動小数点数
SortableIntField int Int32Type 数値でソートされた整数
SortableLongField bigint LongType 数値でソートされた長整数
SpatialRecursivePrefixTreeFieldType PointType PointType ポイント地理空間的コンテキスト向け空間フィールド型
SpatialRecursivePrefixTreeFieldType text、varchar UTF8Type 地理空間的コンテキスト向け空間フィールド型
StrField text、varchar UTF8Type 文字列(UTF-8でエンコードした文字列またはUnicode)
TextField text、varchar UTF8Type テキスト。通常は複数の単語またはトークン
TrieDateField timestamp DateType Lucene TrieRange処理のための日付フィールド
TrieDoubleField double DoubleType Lucene TrieRange処理のための倍精度フィールド
TrieField なし なし Trieフィールド型と同じ
TrieFloatField float FloatType Lucene TrieRange処理のための浮動小数点フィールド
TrieIntField int, smallint Int32Type, ShortType Lucene TrieRange処理のための32ビットの符号付き整数フィールド
TrieLongField bigint LongType Lucene TrieRange処理のための長フィールド
UUIDField uuid、timeuuid UUIDType 汎用一意識別子(UUID)
VarIntStrField varint IntegerType 標準Solr StrFieldとしてインデックスを作成
他の text、varchar UTF8Type 標準Solr StrFieldとしてインデックスを作成
範囲クエリーなどの操作の効率を上げるため、トライ型の使用を推奨します。以下の情報を検討してみてください。
  • UUIDField

    DataStax Enterpriseでは、Cassandra TimeUUID型をサポートしています。この型の値は、その生成日時を含むType 1 UUIDです。値は、格納された競合のないタイムスタンプです。たとえば、TimeUUID型を使用して、タイムスタンプでカラム(ブログ・エントリなど)を特定したり、複数のクライアントが同じパーティション・キーに同時に書き込んだりします。Cassandra TimeUUIDからSolr UUIDFieldにマッピングされたデータを見つけるには、時間成分だけでなく、完全なUUID値を検索します。

  • BCD

    10進数の計算と文字列への変換が即座に行えるという利点がある、比較的不十分なエンコーディング。

  • SortableDoubleField/DoubleType

    普通の型(DoubleFieldやIntFieldなど)を使用する場合、ソートは数値ではなく辞書の順に行われます。

  • TrieField

    型の属性と値であるinteger、long、float、double、dateとともに使用されます。

CQLコレクションのマッピング

DSE Searchでは、コレクションを以下のようにマッピングします。

動的フィールドの名前からワイルドカードを引いたものが、マップ名になります。たとえば、[dyna*]という名前のマップ・カラムは、dynaにマッピングされます。内部キーは、完全なフィールド名にマッピングされます。