我在我的 centos 操作系统中安装了最新版本的 scylladb 和 cassandra。我已经尝试在选择查询中允许过滤,但我不需要它,我想要在其中进行高级搜索或全文搜索,我有谷歌但找不到任何解决方案,当我创建索引并尝试运行选择查询时它给出错误“服务器错误:未实现:索引”。有人能帮帮我吗?
2 回答
如果您使用 cassandra 3.4 或更高版本,则可以使用SSTable 附加二级索引 (SASI)。
使用 CQL,可以在表中定义的非集合列上创建 SSTable 附加二级索引 (SASI)。二级索引用于查询使用通常不可查询的列的表,例如非主键列。SASI 实现了三种类型的索引,PREFIX、CONTAINS 和 SPARSE。
了解更多信息:https ://docs.datastax.com/en/dse/5.1/cql/cql/cql_using/useSASIIndex.html
或者您可以使用Apache Solr或Elastic Search。因此,每当创建、更新或删除任何可搜索数据时,您都会从 solr 或弹性搜索中索引或删除数据。
Scylla 正在积极努力启用二级索引。期望有一个 2.2 版本的工作解决方案 http://www.scylladb.com/product/technology/scylla-roadmap/
目前要支持使用 Scylla 进行全文搜索,需要使用 Solr 或 Elasticsearch 等辅助解决方案,以下链接说明了如何结合 Scylla 和 Elasticsearch
http://www.scylladb.com/2017/08/03/data-analytics-elastic-scylla/