検索

1.2. Data Grid のネイティブインデックス化のアノテーション

download PDF

キャッシュでインデックス作成を有効にする場合は、インデックスを作成するように Data Grid を設定します。また、実際にインデックス化できるように、キャッシュ内のエンティティーの構造化表現で Data Grid を提供する必要もあります。

Data Grid インデックスアノテーションの概要

@Indexed
Data Grid がインデックスをインデックス化するエンティティーまたは Protobuf メッセージタイプを示します。

Data Grid がインデックス化するフィールドを指定するには、インデックスのアノテーションを使用します。これらのアノテーションは、埋め込みクエリーとリモートクエリーの両方で同じ方法で使用できます。

@Basic
任意のタイプのフィールドをサポートします。変換や処理を必要としない数値や短い文字列には @Basic アノテーションを使用します。
@Decimal
10 進数値を表すフィールドにこのアノテーションを使用します。
@Keyword
このアノテーションは、文字列であり、完全一致を目的としたフィールドに使用します。キーワードフィールドは、インデックス作成中に分析またはトークン化されません。
@Text
このアノテーションは、テキストデータを含み、全文検索機能を目的としたフィールドに使用します。アナライザーを使用してテキストを処理し、個別のトークンを生成できます。
@Embedded
このアノテーションを使用して、フィールドを親エンティティー内に埋め込みオブジェクトとしてマークします。NESTED 構造は元のオブジェクト関係構造を保持しますが、FLATTENED 構造 は親エンティティーのリーフフィールドを複数値にします。@Embedded で使用されるデフォルトの構造は NESTED です。

各アノテーションは、エンティティーのインデックス付け方法を説明するために使用できる一連の属性をサポートしています。

表1.3 Data Grid のアノテーションとサポート対象の属性
アノテーションサポート対象の属性

@Basic

Searchable, sortable, projectable, aggregable, indexNullAs

@Decimal

Searchable, sortable, projectable, aggregable, indexNullAs, decimalScale

@Keyword

Searchable, sortable, projectable, aggregable, indexNullAs, normalizer, norms

@Text

Searchable, projectable, norms, analyzer, searchAnalyzer, termVector

Data Grid アノテーションの使用

以下の 2 つの方法で、インデックスアノテーションを Data Grid に提供できます。

  • Data Grid アノテーションを使用して Java クラスまたはフィールドに直接アノテーションを付けます。
    次に、Protobuf スキーマ、.proto ファイルを生成または更新してから、Data Grid Server にアップロードします。
  • Protobuf スキーマに直接 @Indexed アノテーション、@Basic@Keyword または @Text でアノテーションを付けます。
    次に、Protobuf スキーマを Data Grid Server にアップロードします。

    たとえば、以下のスキーマは @Text アノテーションを使用します。

    /**
       * @Text(projectable = true)
       */
    required string street = 1;
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.