フィールド

フィールドは、スキーマ の fields 要素で定義されます。 フィールドタイプを設定したら、フィールド自体の定義は簡単です。

フィールド定義の例

次の例では、price という名前のフィールドを、float という名前のタイプと 0.0 のデフォルト値で定義しています。 indexed プロパティと stored プロパティは明示的に true に設定されており、float フィールドタイプで指定されている他のプロパティは継承されます。

<field name="price" type="float" default="0.0" indexed="true" stored="true"/>

フィールドプロパティ

フィールド定義には、次のプロパティを設定できます。

name

必須

デフォルト: なし

フィールドの名前。 フィールド名は、英数字またはアンダースコア文字のみで構成し、数字で始めてはいけません。 これは現在厳密に適用されているわけではありませんが、他のフィールド名はすべてのコンポーネントからファーストクラスのサポートを受けられず、後方互換性は保証されません。 先頭と末尾の両方にアンダースコアが付いた名前 (例: _version_) は予約されています。

type

必須

デフォルト: なし

このフィールドの fieldType の名前。 これは、fieldType 定義の name 属性にあります。 すべてのフィールドには type が必要です。

default

オプション

デフォルト: なし

インデックス作成時にこのフィールドに値がないドキュメントに自動的に追加されるデフォルト値。 このプロパティが指定されていない場合、デフォルトはありません。

オプションのフィールドタイプオーバーライドプロパティ

フィールドは、フィールドタイプと同じプロパティを多く持つことができます。 下の表で個々のフィールドに指定されているプロパティは、フィールドの fieldType に指定されているそのプロパティの明示的な値、または基になる fieldType 実装によって提供される暗黙的なデフォルトプロパティ値をオーバーライドします。 下の表は、フィールドタイプの定義とプロパティ からの抜粋で、詳細が記載されています。

プロパティ 説明 暗黙のデフォルト

indexed

true の場合、フィールドの値を使用して、一致するドキュメントを取得するクエリを実行できます。

true

stored

true の場合、フィールドの実際の値をクエリで取得できます。

true

docValues

true の場合、フィールドの値は列指向の DocValues 構造に配置されます。

false

sortMissingFirstsortMissingLast

ソートフィールドが存在しない場合のドキュメントの配置を制御します。

false

multiValued

true の場合、1 つのドキュメントにこのフィールドタイプの複数の値が含まれる可能性があることを示します。

false

uninvertible

true の場合、indexed="true" docValues="false" フィールドをクエリ時に「反転解除」して、メモリ内に大規模なデータ構造を構築し、DocValues の代わりに使用できることを示します。 **歴史的な理由からデフォルトでは true ですが、安定性のために false に設定し、必要に応じて docValues="true" を使用することを強くお勧めします。**

true

omitNorms

true の場合、このフィールドに関連付けられているノルムを省略します (これにより、フィールドの長さ正規化が無効になり、メモリが節約されます)。 **int、float、data、bool、string などのすべてのプリミティブ (分析されていない) フィールドタイプでは、デフォルトで true になります。** フルテキストフィールドまたはインデックス時のブーストが必要なフィールドのみがノルムを必要とします。

*

omitTermFreqAndPositions

true の場合、このフィールドの投稿から用語頻度、位置、およびペイロードを省略します。 これは、その情報を必要としないフィールドのパフォーマンスを向上させることができます。 また、インデックスに必要な記憶容量も削減されます。 このオプションが設定されたフィールドで位置に依存するクエリが発行されると、ドキュメントの検索はサイレントに失敗します。 **このプロパティは、テキストフィールドではないすべてのフィールドタイプでデフォルトで true になります。**

*

omitPositions

omitTermFreqAndPositions と似ていますが、用語頻度情報は保持されます。

*

termVectorstermPositionstermOffsetstermPayloads

これらのオプションは、Solrに対して各ドキュメントの完全な単語ベクトルを保持するように指示します。オプションで、ベクトル内の各単語出現位置、オフセット、およびペイロード情報を含めることができます。これらは、ハイライト表示やその他の補助機能を高速化するために使用できますが、インデックスサイズに関して大きなコストがかかります。Solrの一般的な使用には必要ありません。

false

必須

このフィールドに値がないドキュメントを追加しようとすると、Solrは拒否するように指示します。このプロパティのデフォルト値はfalseです。

false

useDocValuesAsStored

フィールドでDocValuesが有効になっている場合、これをtrueに設定すると、flパラメータで「*」に一致する場合、フィールドが格納フィールドであるかのように(stored=falseであっても)返されるようになります。

true

ラージ

ラージフィールドは常に遅延読み込みされ、実際の値が512KB未満の場合にのみドキュメントキャッシュにスペースを占有します。このオプションには、stored="true"multiValued="false"が必要です。非常に大きな値を持つ可能性のあるフィールドを対象としており、メモリにキャッシュされないようにします。

false