如何在具有 SAI 索引的 TEXT 列上使用 CONTAINS?

mro*_*man 2 cassandra datastax-enterprise datastax

根据这篇文章:https://docs.datastax.com/en/storage-attached-index/6.8/sai/saiFaqs.html,TEXT类型支持CONTAINS操作。但我收到这样的错误:com.datastax.driver.core.exceptions.InvalidQueryException: Cannot use CONTAINS on non-collection column

谁能解释一下如何在 TEXT 列上使用 SAI 索引以便可以使用 CONTAINS 操作(如 SQL LIKE 操作)在此列中进行搜索?

PS 如果在包含 TEXT 值列表的列上创建 SAI 索引,我就能够使用 CONTAINS 操作。但不想自己生成子字符串的所有组合。至少根据文档,应该可以在 TEXT 上使用 CONTAINS ...

数据库架构:

CREATE TABLE IF NOT EXISTS some_table (
 id text,
 data text,
 list_for_search list<text>,
 PRIMARY KEY (id))
WITH CLUSTERING ORDER BY (id ASC);

CREATE CUSTOM INDEX IF NOT EXISTS some_table_search_idx
 ON some_table (data)
 USING 'StorageAttachedIndex' WITH OPTIONS = {'case_sensitive': 'false'};
Run Code Online (Sandbox Code Playgroud)

文凭试 6.8.3

Ale*_*Ott 5

CONTAINS的变体CONTAINS KEYCONTAINS VALUES设计用于搜索文本类型集合(映射、集合和列表)内的特定字符串值 - 不支持搜索文本内的子字符串(这是LIKE不支持的任务(然而?))。

根据文档

不支持:LIKEINOR