Кассандра CREATE CUSTOM INDEX ОШИБКА java.lang.ClassNotFoundException
-> Таблица:
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
-> Я был бы очень рад, если бы вы могли мне помочь
-> Спасибо Вам
1 ответ
Решение
Как и предполагалось изначально, я думаю, что вы используете версию 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 в Кассандре, похоже, имеют некоторые ошибки
Но я думаю, что лучше найти Кассандру Джиру для этого, это всего лишь небольшое предупреждение.