1.2. Data Grid 原生索引注解


当您在缓存中启用索引时,您可以将 Data Grid 配置为创建索引。您还需要为 Data Grid 提供缓存中实体的结构化表示,以便它实际上可以索引它们。

Data Grid 索引注解概述

@Indexed
表示 Data Grid 索引的实体或 Protobuf 消息类型。

指明 Data Grid 索引使用索引注解的字段。您可以采用与嵌入式和远程查询相同的方法使用这些注解。

@Basic
支持任何类型的字段。将 @Basic 注释用于不需要任何转换或处理的数字和简短字符串。
@Decimal
将此注解用于代表十进制值的字段。
@Keyword
将此注解用于字符串和用于完全匹配的字段。关键字字段在索引过程中不会被分析或令牌。
@Text
将此注解用于包含文本数据的字段,并用于全文本搜索功能。您可以使用分析器来处理文本并生成单个令牌。
@Vector
使用此注解标记代表嵌入的向量字段,该字段可以定义 kNN-predicates。
@Embedded
使用此注解将字段标记为父实体中的嵌入式对象。NESTED 结构保留了原始对象关系结构,而 FLATTENED 结构使 leaf 字段对父实体有多值。@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

@Vector

searchable, projectable, dimension, similarity, beamWidth, maxConnections

使用 Data Grid 注解

您可以通过两种方式为 Data Grid 提供索引注解:

  • 使用 Data Grid 注解直接标注您的 Java 类或字段。
    然后,您将生成或更新您的 Protobuf 模式 .proto 文件,然后将其上传到 Data Grid Server。
  • 直接使用 @Indexed@Basic@Keyword@Text 直接标注 Protobuf 模式。
    然后,您将 Protobuf 模式上传到 Data Grid Server。

    例如,以下架构使用 @Text 注释:

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

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.