Я бы хотел отфильтровать строки следующей таблицы в cassandra.
CREATE TABLE mids_test_db.defect_data (
wafer_id text,
defect_id text,
document_id text,
fields list<double>,
PRIMARY KEY (wafer_id, defect_id)
)
...
CREATE INDEX defect_data_fields_idx ON mids_test_db.defect_data (values(fields));
То, что я сначала попытался использовать, например, field[0] > 0.5
, но не получилось.
cqlsh:mids_test_db> select fields from defect_data where wafer_id = 'MIDS_1_20170101_023000_30000_1548100671' and fields[0] > 0.5;
InvalidRequest: Error from server: code=2200 [Invalid query] message="Indexes on list entries (fields[index] = value) are not currently supported."
После поиска в Googleкакое-то время я чувствую, что такую работу нелегко выполнить в Кассандре.Модель данных является чем-то вроде коллекции значений поля.В основном я хочу запросить данные defect
, используя данные fields
, как указано выше, что очень важно для моего бизнеса.
Какой подход я должен принять во внимание?Фильтрация на стороне приложения?Любой намек или совет будут оценены.