dse cassandra solr没有回复_uniqueKey作为回应

时间:2015-06-10 14:00:04

标签: solr cassandra datastax datastax-enterprise

我正在使用Datastax 4.6。我的solr客户端使用_uniqueKey查询数据。从版本4.6开始,删除了使用简单主键的限制。如何在cassandra中配置solr或create table,以便在solr响应中收到有关合成密钥_uniqueKey的信息。使用复合键时没有问题,只有简单。

DROP TABLE IF EXISTS unitable;
CREATE TABLE IF NOT EXISTS unitable (
    "depId" INT PRIMARY KEY,
    "parentId" INT,
    "name" text
);

INSERT INTO unitable(“depId”,“parentId”,“name”) VALUES (689,2,'测试');

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<schema name="autoSolrSchema" version="1.5">
<types>
<fieldType class="org.apache.solr.schema.TrieIntField" name="TrieIntField"/>
<fieldType class="org.apache.solr.schema.TextField" name="TextField">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
</types>
<fields>
<field indexed="true" multiValued="false" name="depId" stored="true" type="TrieIntField"/>
<field indexed="true" multiValued="false" name="name" stored="true" type="TextField"/>
<field indexed="true" multiValued="false" name="parentId" stored="true" type="TrieIntField"/>
</fields>
<uniqueKey>depId</uniqueKey>
</schema>

没有_uniqueKey作为回应

<response>

<lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">5</int>
</lst>
<result name="response" numFound="1" start="0" maxScore="1.0">
  <doc>
    <int name="depId">689</int>
    <str name="name">test</str>
    <int name="parentId">2</int></doc>
</result>
</response>

1 个答案:

答案 0 :(得分:0)

仅在使用复合键时生成并返回合成_uniqueKey字段;在简单键的情况下,直接使用键字段。