0
搜索我有一個簡單的卡桑德拉KF:如何返回,並通過動態域在DSE搜索
create table messages (
id varchar,
headers map<varchar, varchar>,
primary key (id));
表得到一個自動生成的Solr索引。 headers
字段的值將圍繞您期望的電子郵件標題。我可以看到,Solr的生成以下行頭:
<dynamicField indexed="true" multiValued="false" name="headers*" stored="true" type="TextField"/>
不過,我看不出找到標題任何東西,也沒有使用Solr的API獲取它們的值。 A記錄:
cass[email protected]:tpb> SELECT id, headers FROM messages;
1492cc10-046d-11e6-a332-55ae2575ea1a | {'component-count': '1', 'component-type-0': 'Document-Upload', 'consumer-behalf': 'true', 'date': 'Sun Apr 17 2016 00:22:02 GMT-0700 (PDT)', 'from': '[email protected]0aa4e6dd1', 'message-id': '[email protected]f8a75e811', 'to': '"[email protected]"@32d2a682-af07-4108-a15a-de6f8a75e811', 'transaction-id': '14585b20-046d-11e6-a332-55ae2575ea1a'}
運行這兩個查詢永遠不要回我的任何標頭值(注意,任何URL編碼反轉可讀性):
...select?q=id:1492cc10-046d-11e6-a332-55ae2575ea1a&fl=id,headersconsumer-behalf&wt=json&indent=true
...select?q=id:1492cc10-046d-11e6-a332-55ae2575ea1a&fl=id,headers*&wt=json&indent=true
由標頭值搜索似乎不產結果,例如
...選擇Q = headersdate:孫& FL = ID &重量= JSON &縮進=真 ...選擇Q = headersconsumer-代表:真& FL = ID &重量= JSON &縮進= true
都返回空集(但應匹配上述文檔)。
感覺就像我錯過了什麼,但我無法弄清楚什麼。 Solr管理員報告「標題*」字段存在,並被正確索引,而不是。
所以,問題:如何在DSE中通過動態字段(從Cassandra地圖推斷)返回並搜索?
雖然這對我來說確實沒有任何意義,但Cassandra知道數據在'headers'映射中,而模式是由Cassandra創建的,因此它必須能夠將列的名稱預先指定爲名稱Solr字段提交索引時,不是嗎? –