如何解决如何在带有 SAI 索引的 TEXT 列上使用 CONTAINS?
根据这篇文章: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 操作)进行搜索?
P.S. 如果在带有 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'};
DSE 6.8.3
解决方法
CONTAINS
及其变体 CONTAINS KEY
和 CONTAINS VALUES
旨在搜索文本类型(地图、集合和列表)集合中的特定字符串值 - 不支持搜索文本中的子字符串(这是不支持的 LIKE
的任务(还?))。
不支持:LIKE
、IN
、OR
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。