@SASI.StandardAnalyzed |表不能有超过 0 个 SASI 索引,未能在 table 用户上创建 SASI 索引

@SASI.StandardAnalyzed | Tables cannot have more than 0 SASI indexes, failed to create SASI index on table user

我正在使用 Cassandra 数据库(通过 Datastax AstraDB)进行搜索查询,例如

SELECT * FROM userdb.users WHERE skill LIKE %jav% AND skill LIKE %node% AND updatedate BETWEEN "1641839170" AND "1641839370" AND City LIKE "Chen";

我阅读了 SASI 索引,它可以帮助解决上述查询。但是,当我使用 Spring 引导应用程序创建 SASI 索引时,出现以下错误。

InvalidRequest: Error from server: code=2200 [Invalid query] message="Tables cannot have more than 0 SASI indexes, failed to create SASI index on table user"

用户模型:

@Table
@Data
@Builder
public class User {
  @PrimaryKey private Long userId;
  private String username;

  @SASI(indexMode = CONTAINS)
  @SASI.StandardAnalyzed
  private String skill;

  @SASI(indexMode = CONTAINS)
  @SASI.StandardAnalyzed
  private String project;

  @SASI(indexMode = CONTAINS)
  @SASI.StandardAnalyzed
  private String city;

  @Column("updatedDate")
  @CassandraType(type = CassandraType.Name.TIMESTAMP)
  @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ", shape = JsonFormat.Shape.STRING)
  private LocalDateTime updatedDate;

  @Column("createdDate")
  @CassandraType(type = CassandraType.Name.TIMESTAMP)
  @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ", shape = JsonFormat.Shape.STRING)
  private LocalDateTime createdDate;

}

非常感谢任何帮助。

我认为 DataStax Astra 不支持 SASI 索引 - 它是旧的且非常错误的索引实现。 DataStax 产品支持 Storage Attached Indexes,与 SASI 相比开销更少,并且应该更具可扩展性。但我不确定 Spring Data Cassandra 是否直接支持它。