DSE Cassandra 十進制類型
dsetool
我在表名上生成了 solrschemaseriesdata
(它的鍵由seriesmetadata_id
,initialtime
; 兩個十進製欄位組成)。這些欄位被定義為DecimalStrField
但它們是數值的(我必須執行範圍選擇)。我試圖更改將這些欄位定義為的架構:<fieldType class="org.apache.solr.schema.TrieLongField" name="TrieLongField"/>
但我收到此錯誤:
$$ cassandra@bigdatalin-03 ~ $$ $ dsetool reload_core timeseriesks.seriesdata schema=schema_data.xml solrconfig=solr_config_data.xml reindex=true -l cassandra -p cassandra org.apache.solr.client.solrj.impl.HttpSolrServer $ RemoteSolrException:com.datastax.bdp.search.solr.CassandraIndexSchema$ValidationException:Solr 鍵欄位之間不匹配$$ seriesmetadata_id $$類型為 {TrieLongField{class=org.apache.solr.schema.TrieLongField,analyzer=org.apache.solr.schema.FieldType $ DefaultAnalyzer,args={class=org.apache.solr.schema.TrieLongField}}] and Cassandra key alias [seriesmetadata_id] with type [decimal] at org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:665) at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:303) at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:294) at com.datastax.bdp.tools.SearchDseToolCommands.createOrReloadCore(SearchDseToolCommands.java:559) at com.datastax.bdp.tools.SearchDseToolCommands.access $ 200(SearchDseToolCommands.java:59) 在 com.datastax.bdp.tools.SearchDseToolCommands$ReloadCore.execute(SearchDseToolCommands.java:209) 在 com.datastax.bdp.tools.DseTool.run(DseTool.java:126) 在 com .datastax.bdp.tools.DseTool.run(DseTool.java:51) 在 com.datastax.bdp.tools.DseTool.main(DseTool.java:186)
為什麼?非常感謝!
由於您使用的是 Datastax Enterprise 搜尋節點,因此 solr 與 cassandra 集成。這裡發生的情況是,當您更改 solr 模式時,您並沒有更改關聯的 cassandra 模式。錯誤消息告訴您,您的新 solr 架構與同一張表的 cassandra 架構不匹配。檢查 cassandra 模式
seriesdata
並使其與 solr 模式一致。