我的日期时间列仅用于排序目的,其余的集群键用于过滤。但是,我无法通过其他列进行过滤,而没有给出与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);
答案 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';