【发布时间】:2017-11-01 13:54:03
【问题描述】:
要求:是使用DSE Search实现分面搜索
问题:无法在一个 CQL solr 查询中获取文档或数据以及 facets。
使用的工具和技术: Datastax Sandbox 5.1(Cent OS + Virtual box)并尝试 DSE 搜索
创建了下表并使用了 dsetool enable solr(DSE 搜索):
CREATE TABLE test.employee_copy1 (
empid int,
deptid int,
name text,
solr_query text, -- column got created by enabling DSE Search
PRIMARY KEY (empid, deptid)
)
插入以下数据,
INSERT INTO employee (empid,deptid,name) VALUES (100,200,'John');
INSERT INTO employee (empid,deptid,name) VALUES (101,201,'Helen');
INSERT INTO employee (empid,deptid,name) VALUES (102,201,'John');
我尝试了 Solr Admin 的方面查询,如下所示
http://localhost:8983/solr/test.employee/select?q=*:*&wt=json&indent=true&facet=true&facet.field=name
按预期获得包含文档(或数据)和方面的结果,
{
"responseHeader": {
"status": 0,
"QTime": 1
},
"response": {
"numFound": 3,
"start": 0,
"docs": [{
"_uniqueKey": "[\"100\",\"200\"]",
"empid": 100,
"deptid": 200,
"name": "John"
},
{
"_uniqueKey": "[\"101\",\"201\"]",
"empid": 101,
"deptid": 201,
"name": "Helen"
},
{
"_uniqueKey": "[\"102\",\"201\"]",
"empid": 102,
"deptid": 201,
"name": "John"
}
]
},
"facet_counts": {
"facet_queries": {},
"facet_fields": {
"name": [
"john", 2,
"helen", 1
]
},
"facet_dates": {},
"facet_ranges": {},
"facet_intervals": {}
}
}
但是当在 Datastax 开发中心尝试以下查询 (CQL) 期望看到数据和方面时,我只看到方面
select JSON * from test.employee where solr_query = '{"q":"*:*", "facet" : {"field":"name"}}';
得到了结果,但它只有构面,没有数据:
{"facet_fields" : {"name" : {"john" : 2,"helen" : 1 } } }
问题:谁能解释为什么 CQL 查询不返回数据,尽管指定了"q":"*:*"?
【问题讨论】:
标签: solr datastax datastax-enterprise cql3 cassandra-3.0