Cassandra

DSE Cassandra 十進制類型

  • May 10, 2016

dsetool我在表名上生成了 solrschema seriesdata(它的鍵由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 模式一致。

引用自:https://dba.stackexchange.com/questions/137779