インデックス・フィールド型の定義

デフォルトの検索インデックス・フィールド定義とフィールド関連のスキーマ変更構文の概要。

デフォルトのフィールド型の定義

CQLカラムを対応するSolrフィールド型に解析するにはフィールド型定義が必要です。fieldType定義のアナライザー・セクションに処理手順を追加します。

TrieField型

型の属性と値であるinteger、long、float、double、dateとともに使用されます。
TrieDoubleField
<fieldType class="org.apache.solr.schema.TrieDoubleField" name="TrieDoubleField"/>
TrieDateField
Lucene TrieRange処理のための日付フィールド。負の日付のインデックス作成をサポートしています。例を次に示します。-28011-12-02T00:00:00.002Zなどです。CQLtimestampの負の日付を挿入するには、エポック時間をマイクロ秒単位で挿入します。TimestampTypeは、負の日付のテキスト表現を受け入れません。
<fieldType class="org.apache.solr.schema.TrieDateField" name="TrieDateField"/>
TrieFloatField
<fieldType class="org.apache.solr.schema.TrieFloatField" name="TrieFloatField"/>

StringField型

VarIntStrField
CQL varintを変換するDataStaxクラスで定義します。
<fieldType class="com.datastax.bdp.search.solr.core.types.VarIntStrField" name="VarIntStrField"/>
AsciiStrField
CQL asciiを標準Solr StrFieldに変換します。
 <fieldType class="com.datastax.bdp.search.solr.core.types.AsciiStrField"
       name="AsciiStrField"/>
SimpleDateField
CQL日付フィールドを対応するSolr日付フィールドに変換するDataStaxクラスで定義します。
<fieldType class="com.datastax.bdp.search.solr.core.types.SimpleDateField" name="SimpleDateField"/>
BoolField
SOLR-7264により、Solrスキーマのブーリアン・フィールドでdocValuesをtrueに設定することはできません。ブーリアンdocValuesの回避策として、TrieIntFieldで0および1を使用します。
<fieldType class="org.apache.solr.schema.BoolField" name="BoolField"/>
BinaryField
<fieldType class="org.apache.solr.schema.BinaryField" name="BinaryField"/>
UUIDField
この型の値は、その生成日時を含むType 1 UUIDです。値は、競合のないタイムスタンプでソートされます。たとえば、TimeUUID型を使用すると、タイムスタンプでカラム(ブログ・エントリーなど)を特定したり、複数のクライアントが同じパーティション・キーに同時に書き込んだりすることができます。TimeUUIDからUUIDFieldにマップされたデータを見つけるには、時間成分だけでなく、完全なUUID値を検索します。
<fieldType class="org.apache.solr.schema.UUIDField" name="UUIDField"/>

CQLカラム型のデフォルトのインデックス・フィールド定義

制約事項: 10進数とバリアントは文字列としてインデックスが作成されます。Apache Lucene®はこれらの数値型に必要な精度をサポートしていません。テーブルがこれらの型を使用している場合、範囲クエリーおよびソート・クエリーは期待どおりには機能しません。
表 1. デフォルトのカラム定義
CQLデータ型 フィールド型名 docValues multiValued
ascii AsciiStrField false false
bigint TrieLongField true false
BLOB BinaryField サポート対象外 false
boolean BoolField false false
date SimpleDateField サポート対象外 false
decimal DecimalStrField false false
double TrieDoubleField true false
float TrieFloatField true false
inet InetField false false
int TrieIntField true false
smallint TrieIntField true false
text TextField false false
time TimeField true false
timestamp TrieDateField true false
timeuuid TimeUUIDField true false
tinyint TrieIntField true false
uuid UUIDField true false
varchar TextField サポート対象外 false
varint VarIntStrField false false
list true
map true
set true true
tuple/ユーザー定義型(UDT) TupleField false false

CQLデータ型とフィールド型クラスの互換性

表 2. 互換性マトリックス
CQL フィールド名 クラス 説明
ascii AsciiStrField AsciiType 標準Solr StrFieldとしてインデックスが作成されます。
BLOB BinaryField BytesType バイナリー・データ。
boolean BoolField BooleanType True(1、t、またはT)またはFalse(1、t、Tでない)
DateRangeType DateRangeField DateRangeType 日付範囲をサポートするミリ秒単位の精度の特定時点。「solr_queryでの日付範囲の使用」を参照してください。
decimal DecimalStrField DecimalType 標準Solr StrFieldとしてインデックスが作成されます。
text、varchar EnumField UTF8Type ソート順序が事前に決められている、閉じたセット。
text、varchar ExternalFileField UTF8Type ディスク・ファイルからの値。
text、varchar GeoHashField UTF8Type 文字列として格納された座標ペア(latitude,longitude)のハッシュ。
inet InetField InetAddressType InetFieldは、標準Solr StrFieldとして実装され、インデックスが作成されます。
text、varchar LatLonType UTF8Type Latitude/Longitude 2-D点、latitude優先
text、varchar PointType UTF8Type 空間検索用の任意のn次元点。
text、varchar RandomSortField UTF8Type 順序がランダムな動的フィールド。
date SimpleDateField SimpleDateType CQL日付を格納するTrieDateField。
PointType SpatialRecursivePrefixTreeFieldType PointType ポイントの地理空間コンテキストの空間フィールド型。
text、varchar SpatialRecursivePrefixTreeFieldType UTF8Type 地理空間コンテキストの空間フィールド型。
text、varchar StrField UTF8Type 文字列(UTF-8エンコード文字列またはUnicode)。
text、varchar TextField UTF8Type テキスト。通常は複数の単語またはトークン。
time TimeField TimeType CQL時刻を格納するTrieLongField。
timeuuid TimeUUIDField TimeUUIDType タイプ1の汎用一意識別子(UUID)。
timestamp TrieDateField DateType Lucene TrieRange処理のための日付フィールド。負の日付のインデックス作成をサポートしています。
double TrieDoubleField DoubleType Lucene TrieRange処理のための倍精度フィールド。
なし TrieField なし Trieフィールド型と同じ。
float TrieFloatField FloatType Lucene TrieRange処理のための浮動小数点フィールド。
int、smallint TrieIntField Int32Type、ShortType Lucene TrieRange処理のための32ビット符号付き整数フィールド。
tinyint TrieIntField ByteType Lucene TrieRange処理のための32ビット符号付き整数フィールド。
bigint TrieLongField LongType Lucene TrieRange処理のための長フィールド。
uuid、timeuuid UUIDField UUIDType 汎用一意識別子(UUID)。
varint VarIntStrField IntegerType 標準Solr StrFieldとしてインデックスが作成されます。
text、varchar 他の UTF8Type 標準Solr StrFieldとしてインデックスが作成されます。