Cassandra 创建自定义索引错误 java.lang.ClassNotFoundException
Cassandra CREATE CUSTOM INDEX ERROR java.lang.ClassNotFoundException
-> Table :
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
-> 如果你能帮助我,我会很高兴
-> 谢谢你
正如最初怀疑的那样,我认为你是运行低于3.4的cassandra版本。
(这就是我要版本的原因)
我试了一下,在 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,这只是一个小警告。
-> Table :
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
-> 如果你能帮助我,我会很高兴
-> 谢谢你
正如最初怀疑的那样,我认为你是运行低于3.4的cassandra版本。
(这就是我要版本的原因)
我试了一下,在 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,这只是一个小警告。