首页 > 解决方案 > 无法在 cassandra 表上为 Azure ACS 中的 lucene 搜索创建自定义索引

问题描述

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

InvalidRequest:来自服务器的错误:code=2200 [Invalid query] message="具有聚簇列的 COMPACT STORAGE 表不支持二级索引"

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

标签: indexingcassandraluceneacs

解决方案


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

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

ALTER TABLE mykeyspace.mytable DROP COMPACT STORAGE;

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


推荐阅读