2014-01-23 41 views
0

我有一个关于Apache Cassandra(1.2)与Apache Solr(如Datastax Enterprise 3.2.3)一起工作的问题。 我已经安装了&,如Datastax文档中所述,使用CentOS虚拟机来配置所有内容,并且基本测试正常工作并且如上所述。 然而,在测试一些自定义的配置,我偶然发现了我没有找到(还)的文档中直接帮助&常见问题解答一个问题:Cassandra + Solr:紧凑存储和复合键的表

我想让Solr的与使用Cassandra的一个工作表紧凑的存储空间和复合主键的同时。根据这份文件,最新的DSE/Solr能够理解这两个例子,并且两个例子都显示出来了,但不幸的是并不是两者结合。 至于卡桑德拉,这似乎并没有任何问题,但我没把它与Solr的工作:

这是我加入到卡桑德拉表:

CREATE TABLE my_table(
myid text, 
aa text, 
bb text, 
cc text, 
PRIMARY KEY(myid,aa,bb) 
) WITH COMPACT STORAGE; 

这里的重要组成部分我尝试了(很基本的)Solr的-模式:(。在‘健康和营养调查’数据)

<schema name="my_schema" version="1.1"> 
<types> 
    <fieldType name="string" class="solr.StrField"/>  
</types> 
<fields> 
    <field name="myid" type="string" indexed="true" stored="true"/> 
    <field name="aa" type="string" indexed="true" stored="true"/> 
    <field name="bb" type="string" indexed="true" stored="true"/> 
    <field name="cc" type="string" indexed="true" stored="true"/> 
</fields> 
<uniqueKey>(myid,aa,bb)</uniqueKey> 
</schema> 

我使用的是从Datastax” Solr的solrconfig.xml中入门教程我并没有改变它因为我没有发现任何与此问题有关的明显设置。省略时

一切正常“紧凑存储;”,但是当我把它,它创造了Solr的核心,这似乎找到它的起源在什么也Solr的浏览器时会导致

org.apache.solr.common.SolrException: Unable to create core 

接口告诉我:

java.io.IOException:java.io.IOException: InvalidRequestException(why:Cannot have key alias equals to a column name: myid). 

我的问题:

  • 是在describ ed组合(Solr +复合键+紧凑型存储)甚至可能?
  • 如果是:我错过了什么?
  • 如果不是:我会很乐意提供处理这个问题的建议。我需要同时通过C++/Thrift遗留代码和CQL3保持Cassandra模式可访问,即紧凑型存储似乎是不可避免的。实际的原始数据模式包含超级列,我试图通过使用复合键来模仿。

非常感谢您的时间!

回答

1

不幸的是,使用复合主键的紧凑型存储实际上并不支持DSE Search(该错误非常模糊,我们将着眼于改进)。