Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 键上的cassandra cqlengine映射列索引_Python_Cassandra_Cqlengine - Fatal编程技术网

Python 键上的cassandra cqlengine映射列索引

Python 键上的cassandra cqlengine映射列索引,python,cassandra,cqlengine,Python,Cassandra,Cqlengine,使用Cassandra python驱动程序映射器cqlengine,在创建带有映射集合的模型时,似乎只能在映射值上创建索引 class Foo(Model): id = columns.UUID(partition_key=True) time_id = columns.UUID(primary_key=True, clustering_order='DESC') bar = columns.Map(columns.Ascii(), columns.Double(),

使用Cassandra python驱动程序映射器cqlengine,在创建带有映射集合的模型时,似乎只能在映射值上创建索引

class Foo(Model):
    id = columns.UUID(partition_key=True)
    time_id = columns.UUID(primary_key=True, clustering_order='DESC')
    bar = columns.Map(columns.Ascii(), columns.Double(), index=True)
将产生一个类似于

cqlsh:baz> DESCRIBE foo;
    CREATE TABLE bar.asset_metric (
        id uuid,
        time_id timeuuid,
        bar map<ascii, double>,
        PRIMARY KEY (id, time_id)
    ) WITH CLUSTERING ORDER BY (time_id DESC)
CREATE INDEX index_foo_bar ON baz.foo (values(bar));
cqlsh:baz>描述foo;
创建表bar.asset\u度量(
id uuid,
time_id TIMEUID,
条形图,
主键(id、时间\ id)
)使用群集顺序(时间\ id描述)
在baz.foo(值(bar))上创建索引;
如何让cqlengine在映射键上创建索引, cqlengine目前不支持索引映射键。如果您感兴趣,创建正在运行的cql索引查询的代码位于此处

这将形成将要执行的cql语句。 它将形成一个沿着行的查询

在keyspace.model\u name\u此处(“map\u name\u此处”)上创建索引

默认情况下,这将为值编制索引。有一种方法可以使用keys前缀使用纯cql索引映射的键

这个查询看起来像这样 在keyspace.model_name_此处(键(映射名称_此处))上创建索引

你可以在这篇博文中阅读更多关于集合索引的内容。


不幸的是,cqlengine还不支持该功能。您必须进入基本驱动程序并直接使用cql来创建该类型的索引。

看起来我们需要的是column类处理其
index\u column\u name
,以便在映射的情况下可以正确处理专业化,即值/键/条目等。当我自己试图解决这个问题时,我被转移到了一边,当时我正在看,并认为这就是生成create索引字符串的地方。