我有一个关于使用Apache Solr的Apache Cassandra(1.2)的问题(如Datastax Enterprise 3.2.3)。 我安装了&使用CentOS虚拟机配置Datastax文档中描述的所有内容,基本测试工作正常,如上所述。 但是,在测试一些自定义配置时,我偶然发现了一个问题,我没有找到(还)直接帮助文档&常见问题:
我正在尝试让Solr使用Cassandra表,该表同时使用紧凑存储和复合主键。根据文档,最新的DSE / Solr能够理解这两个示例,但遗憾的是并非两者的结合。 至于Cassandra,这似乎没有任何问题,但我没有设法让它与Solr合作:
这是我添加到Cassandra的表格:
CREATE TABLE my_table(
myid text,
aa text,
bb text,
cc text,
PRIMARY KEY(myid,aa,bb)
) WITH COMPACT STORAGE;
这是我尝试(非常基本的)Solr-Schema的重要部分:
<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(“nhanes”-data。)我没有改变它,因为我没有找到与此问题相关的明显设置。
省略“WITH COMPACT STORAGE;”时一切正常,但是当我保留它时,会导致
org.apache.solr.common.SolrException: Unable to create core
创建Solr核心时,它似乎也在Solr浏览器中找到了它的起源 界面告诉我:
java.io.IOException:java.io.IOException: InvalidRequestException(why:Cannot have key alias equals to a column name: myid).
我的问题:
非常感谢您抽出时间!
答案 0 :(得分:1)
不幸的是,DSE搜索实际上并不支持使用复合主键的紧凑存储(错误非常模糊,我们会考虑改进这一点)。