聚类列"状态"不能被限制(前一列"日期时间"受非EQ关系限制

时间:2018-03-14 18:31:07

标签: solr cassandra datastax

我的日期时间列仅用于排序目的,其余的集群键用于过滤。但是,我无法通过其他列进行过滤,而没有给出与datetime相同的值。如果我使用Apache solr,我可以解决我的问题吗?

我的表:

Glide.with(context)
    .load(brandImagesMap.get(photoCol))
    .fitCenter()
    .placeholder(R.drawable.ic_directions_carhd)
    .into(myHolder.brandPhoto);

我正在尝试查询:

create table search_by_company_id_status
(
agency_id   text,
datetime    timestamp,
createid    text,
status  text,
primary key ((agency_id),datetime,status,createid)) with clustering order by (datetime desc);

1 个答案:

答案 0 :(得分:2)

根据您提供的查询,您在其余的聚类列上使用“等于”谓词进行过滤,即“status”和“createdid”。

您可以按如下方式重新设计表格,以保证日期时间的排序顺序(因为每个先前的值都会针对单个值进行过滤)。

create table search_by_company_id_status
(
agency_id   text,
datetime    timestamp,
createid    text,
status  text,
primary key ((agency_id),status,createid,datetime)) with clustering order by (datetime desc);

此查询应该可以正常运行

select * from search_by_agency_id_status  where agency_id='125' and status='7' and createid='id234' and datetime>'2018-02-02 12:00:00.000';