- >表:
cassandra@cqlsh:coba> CREATE TABLE data(
... nim int,
... nama text,
... alamat text,
... PRIMARY KEY (nim, alamat)
... );
- >制作索引:
CREATE CUSTOM INDEX cari_alamat ON coba.data (alamat) USING 'org.apache.cassandra.index.sasi.SASIIndex';
- >错误:
ServerError: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.apache.cassandra.index.sasi.SASIIndex
- >如果你能帮助我,我会很高兴
- >谢谢你
答案 0 :(得分:2)
最初被推测,我认为你运行的cassandra版本低于3.4。
(这就是我要求版本的原因)
我试了一下,在3.0.10上得到了同样的错误:
cqlsh:test> CREATE CUSTOM INDEX cari_alamat ON test.data (alamat) USING 'org.apache.cassandra.index.sasi.SASIIndex';
ConfigurationException: Unable to find custom indexer class 'org.apache.cassandra.index.sasi.SASIIndex'
理论上你可以实现自己的: Cassandra Custom Secondary Index
但我想它升级起来会更容易。
另请注意,Sasi索引可能存在一些错误:
SASI Indexes in Cassandra seem to have some bugs
但我觉得搜索cassandra Jira这个更好,这只是一个小警告。