关于索引:无法在 cassandra 表上创建自定义索引以在 Azure ACS 中进行 lucene 搜索

Unable to create custom index on cassandra table for lucene search in Azure ACS

我已经成功地在 Azure Container Services (ACS) 中部署了 cassandra-lucene docker 图像。进入容器后,当我尝试在 cassandra 表上创建自定义索引时,出现以下错误:

InvalidRequest: Error from server: code=2200 [Invalid query]
message="Secondary indexes are not supported on COMPACT STORAGE tables
that have clustering columns"

注意:相同的图像在裸机上的 kubernetes 中可以正常工作,用于索引创建脚本。


COMPACT STORAGE 是一项遗留功能,在 Cassandra 3.0 之后没有任何好处,但存在许多限制(请参阅此处了解详细信息)。

您可以使用以下 CQL 禁用 COMPACT STORAGE:

ALTER TABLE mykeyspace.mytable DROP COMPACT STORAGE;

如果您要部署新的 Cassandra 集群,我强烈建议您使用 3.11.x(或 3.0.x)分支中的最新版本,除非您出于遗留原因确实需要使用旧版本。