ile birleştirmenin en iyi yolu nedir? DSE documentation'a göre DSE Search, sayaç sütunlarını desteklemez.Cassandra sayaçlarını ve Solr dizinlerini DSE
Temel bir CF'im var (ckey, count), burada count
sayaçtır. Bir karşı olan, olduğundan
create table change_count (ckey text, count counter) primary key (ckey)
Doğal olarak dsetool create_core ks.change_count
, bu CF başarısız "Solr indeksleri sayaçları desteklenmez!" hata.
Tamam, bu yüzden elle Solr şema dokümanı oluşturmak: "Solr indeksleri sayaçları desteklenmez"
<?xml version="1.0" encoding="UTF-8"?>
<schema name="autoSolrSchema" version="1.5">
<types>
<fieldType class="org.apache.solr.schema.StrField" name="StrField" />
</types>
<fields>
<field indexed="true" multiValued="false" name="ckey" stored="true" type="StrField" />
</fields>
<uniqueKey>(ckey)</uniqueKey>
</schema>
, bir dosyaya kaydedin ve dsetool create_core ks.change_count schema=/tmp/1.xml
kullanmak, ama hala aynı olsun hata.
Yani, ilk soru - DSE strongarm bir sayaç var ve sayaç olmayan sütunlar üzerinde bir sayaç ve solr indeksleri var.
Bu mümkün değilse, verileri temsil etme sorununu nasıl çözeceğiniz konusunda herhangi bir öneri almak istiyorum. 'Ckey', 'epoch hour' diyelim ve sayım, o saatte meydana gelen bazı olayların sadece bir karşıtıdır. Atomik artışlar için sayaç tipi, hafif işlemlerde kullanmama rağmen bu CF'deki çekişme çok yüksek olacaktır. Solr dizini orada çünkü menzil aramalarını yapmak istiyorum ve böyle devam ediyor. Sonra Solr endeksi change_count_idx
ancak change_count
tabloda güvenebilirsiniz
create table change_count (ckey text, count counter) primary key (ckey)
create table change_count_idx (ckey text) primary key (ckey)
ben hem de aynı tuşları var emin olarak:
Ben 2 CFS oluşturabilir. Ardından, anahtarları Solr kullanarak ve Cassandra'yı kullanarak gerçek verileri kullanarak, istemci tarafı birleştirme işlemini gerçekleştirebilirim. Ancak bu, potansiyel olarak binlerce PK arayışı olabilir ve performansın geniş aralıklarda kalacağını düşünmüyorum.
Sayaç sütunlarına sahip bir tabloda, tüm * sayaç olmayan * sütunlar birincil anahtarın parçası olmalıdır. –
Bu, sorunuza bir çözüm seviyesinde bir cevap olması anlamına gelmez, bu yüzden buraya taşıdım. Sadece okuyucular için bir hatırlatma. DSE'deki denetim, tablonun meta verilerine aykırıdır ve yalnızca birincil anahtarı dizine eklemek istemediğinizi varsayar. –
@CalebRackliffe Ancak birincil anahtarımı dizine eklemek ve aksi halde Cassandra'da desteklenmeyen çılgın sorgular yapmak için Solr'u kullanmak isteyebilirim. Bu özel tablonun arkasındaki fikir budur. –