选择带有stratio lucene索引的cassandra的排序查询,版本> 2.2
Posted
技术标签:
【中文标题】选择带有stratio lucene索引的cassandra的排序查询,版本> 2.2【英文标题】:Select query with sorting for cassandra with stratio lucene index, version >2.2 【发布时间】:2016-06-02 16:37:22 【问题描述】:我正在尝试在各种发行版本中测试 Cassandra 数据库的 stratio lucene 索引,但在超过 2.2 版本时遇到了问题:
假设我有一个表,其列 mymap
的类型为 map<text, text>
,并且我使用 lucene 索引使用排序选项对其进行索引:
CREATE CUSTOM INDEX myindex
ON mytable (lucene_index)
USING 'com.stratio.cassandra.lucene.Index'
WITH OPTIONS =
'refresh_seconds': '10',
'schema' : '
fields :
mymap:
type: "string",
sorted: true
'
;
直到 cassandra - lucene 套件 2.1 版之前,我都能够进行涉及 lucene 索引排序的工作选择查询:
select * from mytable
where lucene_index = '
sort:
fields: [field:"mymap.attr"]
,
refresh: true
';
查询将获取按mymap
列的attr1
映射值排序的结果,假设存在具有该列的特定映射属性的行。
当超过 2.2 版时,查询、过滤器或排序的所有 element.property
语法都更改为 element$property
,但是如果我在选择查询中进行更改,排序将不起作用,我什至可以引用不存在的列中的字段。
【问题讨论】:
【参考方案1】:这是一个涉及 2.2.X 分支的错误。 现在修复在2.2.7.1。
【讨论】:
以上是关于选择带有stratio lucene索引的cassandra的排序查询,版本> 2.2的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Stratio Cassandra Lucene Index 进行小写前缀过滤
Stratio cassandra maxClauseCount 设置为 1024