Cassandra InvalidQueryException是否存在二级索引?

Cassandra InvalidQueryException是否存在二级索引?,cassandra,datastax,datastax-java-driver,database,nosql,Cassandra,Datastax,Datastax Java Driver,Database,Nosql,我有一个列族,如下所述。我有名称列的辅助键 CREATE TABLE group ( pid timeuuid, members map<bigint, boolean>, name text, PRIMARY KEY ((pid)) ) WITH bloom_filter_fp_chance=0.010000 AND caching='KEYS_ONLY' AND comment='' AN

我有一个列族,如下所述。我有名称列的辅助键

CREATE TABLE group (
      pid timeuuid,
      members map<bigint, boolean>,
      name text,
      PRIMARY KEY ((pid))
    ) WITH
      bloom_filter_fp_chance=0.010000 AND
      caching='KEYS_ONLY' AND
      comment='' AND
      dclocal_read_repair_chance=0.100000 AND
      gc_grace_seconds=864000 AND
      index_interval=128 AND
      read_repair_chance=0.000000 AND
      replicate_on_write='true' AND
      populate_io_cache_on_flush='false' AND
      default_time_to_live=0 AND
      speculative_retry='99.0PERCENTILE' AND
      memtable_flush_period_in_ms=0 AND
      compaction={'class': 'SizeTieredCompactionStrategy'} AND
      compression={'sstable_compression': 'LZ4Compressor'};

    CREATE INDEX pidx ON group(name);
创建表组(
pid timeuuid,
各位议员:,
名称文本,
主键((pid))
)与
bloom_过滤器_fp_概率=0.010000和
缓存class='KEYS\u ONLY'和
注释=“”和
dclocal\u读取\u修复\u机会=0.100000和
gc_grace_秒=864000和
索引间隔=128和
读取\u修复\u机会=0.000000和
在_write='true'和上复制
在\u flush='false'和
默认\u time\u to\u live=0和
推测性_retry='99.0百分位'
memtable_flush_period_in_ms=0和
压缩={'class':'SizeTieredCompactionStrategy}和
压缩={'sstable_compression':'LZ4Compressor'};
在组(名称)上创建索引pidx;
但是java驱动程序中的
name
列上的
query
是否相等给了我一个

com.datastax.driver.core.exceptions.InvalidQueryException:by columns子句中没有带相等运算符的索引列

我的问题如下。谷歌的所有搜索结果都是关于没有
二级索引或使用一些非相等关系运算符

尽管有二级索引,但出现此错误的原因是什么

这是我的查询:
SELECT*FROM group WHERE name='name'

更新:相同的模式适用于我的本地主机cassandra服务器,但不适用于我们公司提供的服务器

在任何情况下,它都是从
cqlsh
窗口工作的,但在远程服务器的情况下,它不是通过java datastax驱动程序工作的,其他类型的查询工作正常


谢谢。

刚刚浏览了您的代码。创建了上面提到的表(使用复制粘贴只是为了确保所做的一切都是正确的),创建了索引。一切正常。这导致两个结论之一:

  • 索引创建失败,导致出现错误消息。(我的钱在这上面…)
  • 您可能使用了不正确的键空间

连评论都没有?似乎…我只是按照你的确切步骤在cqlsh工作。你能再试一次创建索引吗?我甚至在我的本地主机服务器上也试过,它正在工作。。。。但是我在一个工作环境中,我说的是我们公司提供的一个远程服务器,其中的密钥空间是Store,每个专栏系列都有这样的情况,从cqlsh它可以工作,但从java它不能工作…@BrianC有没有可能是因为我们公司的cassandra密钥空间中的配置?我甚至在我的本地主机服务器上尝试过这个,它可以工作。。。。但是我在一个工作环境中,我说的是我们公司提供的一个远程服务器,其中存储密钥空间。所有列空间的问题都是一样的。若索引创建是一个问题,我认为它不应该从cqlsh客户端工作。它是从cqlsh工作的,它不是从java程序工作的。@pinkparter我认为它是一次性的。尝试在测试表上重新创建带有索引的ks.cf对,看看会发生什么。