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
。
每个注解都支持一组属性,可用于进一步描述实体的索引方式。
注解 | 支持的属性 |
---|---|
@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;