如何在Cassandra 2.1.5中查询索引上的CONTAINS

时间:2015-08-13 07:22:06

标签: indexing cassandra keyword contains cql3

有一本表格书,其定义如下。 书名将以列名存储 - 属性将是一个包含authorname,yearofpublishing等属性的地图

CREATE TABLE book (
    bookid uuid PRIMARY KEY,
    createdat timestamp,
    createdon timestamp,
    description text,
    attributes map<text, text>,
    name text
) CREATE INDEX bookbyname ON project (name);

问题 - 应该开发一个查询来从UI上的通用搜索运行,该搜索将提供一个字符串。该String应该在属性列和名称上查询[CONTAINS]。

对于属性,由于它是MAP,因此它支持CONTAINS关键字。但是,如何对索引进行CONTAINS查询?在这种情况下,bookbyname(name)字段。

1 个答案:

答案 0 :(得分:2)

Cassandra不支持使用CONTAINS或LIKE运算符匹配部分字符串。您应该考虑在Cassandra之上提供搜索功能的StargateDSE等解决方案。