Кассандра 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 в Кассандре, похоже, имеют некоторые ошибки

Но я думаю, что лучше найти Кассандру Джиру для этого, это всего лишь небольшое предупреждение.

Другие вопросы по тегам