当前位置: 首页 > 知识库问答 >
问题:

无法在Cassandra 1.2中执行范围查询

岳正阳
2023-03-14

我正在通过FluentCassandra和C#访问Cassandra1.2。我使用了DataStax安装包。问题是我无法执行下面显示的范围查询。

我尝试了以下创建表的方法:

CREATE TABLE Test (KEY text, p1 int, p2 int, p3 int, p4 int, p5 int, p6 int, 
p7 int, p8 int, data text, PRIMARY KEY (KEY))

CREATE TABLE Test (KEY text, p1 int, p2 int, p3 int, p4 int, p5 int, p6 int, 
p7 int, p8 int, data text, PRIMARY KEY (KEY, p1, p2, p3, p4, p5, p6, p7, p8))
SELECT Data FROM Test WHERE KEY IN ('           0', '           1', 
'           2', '           3', '           4', '           5', '           6', 
'           7', '           8', '           9', '          10', '          11', 
'          12', '          13', '          14', '          15') AND 
p1 >= 10 AND p1 <= 40 AND p2 >= 20 AND p2 <= 80 AND 
p3 >= 30 AND p3 <= 120 AND p4 >= 40 AND p4 <= 160 AND 
p5 >= 50 AND p5 <= 200 AND p6 >= 60 AND p6 <= 240 AND 
p7 >= 70 AND p7 <= 280 AND p8 >= 80 AND p8 <= 320;

我的ConnectionBuilder:

ConnectionBuilder builder = new ConnectionBuilder(CDBkeyspace, 
new Server("localhost"), true, 0, 100, 0, ConnectionType.Framed, 4096, 
ConsistencyLevel.QUORUM, Apache.Cassandra.ConsistencyLevel.QUORUM, "3.0.0");

我该怎么做?

共有1个答案

陆伟
2023-03-14

由于错误,指定P2不能被限制,除非P1上有相等的运算符,所有的参数都必须相等,直到最后一个你指定的参数,只有最后一个可以有不相等

 类似资料:
  • 我需要在一定的时间范围内进行查询, 首先,我想做一个查询,比如 结果是 有人能指出我做错了什么吗? 第二,我没有做这个例子https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-daterange-aggregation.html 上面的例子如何适合我的应用,谢谢 杰夫 此

  • 所以myTable有一个列,我需要从中获取最大id并在查询中使用它。 最后一行给了我一个错误: 运行查询时出错:在EntityManager中创建查询时出现异常:< br > Java . lang . illegalargumentexception:在EntityManager中创建查询时出现异常:异常描述:语法错误解析[上面的查询]。[214,214]必须为范围变量声明提供标识变量。

  • 问题内容: 我正在尝试获取IP范围查询以处理一组文档,但是没有任何结果。 映射(我已经尝试了和): 数据看起来像这样(许多实例的值都不同) 现在,我去看了官方的ES文档,但是没有IP范围示例,但是我在Git上找到了一个不起作用的示例。它看起来如下: 当我用手指指住字段和地址时,上面的方法引发了一些令人鼓舞的解析错误,但最终没有返回结果。 我还尝试了标准范围语法: 这也没有返回结果。如何查询一系列I

  • 问题内容: **如果要基于SellerInfoES的嵌套要约价格数组(嵌套数组)对象,我正在尝试汇总和查找价格范围。内部字段是“ offerPrice”。我如何在Elasticsearch中的嵌套数组字段上编写聚合。我尝试了以下查询,但无法正常工作。收到此错误:解析失败[在[price_ranges]中找到了两个聚合类型定义:[嵌套]和[过滤器]] 对应: 查询: 问题答案: 您必须使用。在内部使

  • 问题内容: 我正在尝试在Swift 3中建立一个我已经在Swift 2中拥有的范围,但是它一直给我这个错误: 这是我的代码: expiredRange是一个 在Swift 2中,我有: 问题答案: 在Swift 3中,“集合移动其索引”,请参阅 关于Swift进化的集合和索引的新模型。 这是字符串范围和索引的示例: 的 在字符串上调用方法,以从范围(现在具有属性而不是 )中计算新索引。

  • 可以对模型的查询和写入操作进行封装,例如: <?php namespace app\index\model; use think\Model; class User extends Model { public function scopeThinkphp($query) { $query->where('name','thinkphp')->field('i