2015-06-10 78 views
0

Im使用Datastax 4.6。我的solr客戶端使用_uniqueKey查詢數據。從版本4.6中刪除了關於使用簡單主鍵的限制。我如何配置solr或在cassandra中創建表,以便在solr響應中收到有關合成密鑰_uniqueKey的信息。當我使用複合鍵時,沒有問題,只有簡單。dse cassandra solr does not return _uniqueKey in response

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

INSERT INTO unitable( 「DEPID」, 「parentId的」, 「名稱」) 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> 
+0

「depId」是您唯一的密鑰,我在您的回覆中看到相同的內容。 –

+0

我需要某種方式來配置solr,以返回合成密鑰及其值。與化合物PK相同。正如你在簡單的PK中看到的那樣,沒有這樣的信息( –

回答

0

合成_uniqueKey場產生並使用化合物鍵時僅返回;在簡單密鑰的情況下,直接使用密鑰字段。

相關問題