2016-08-04 40 views
1

Ich benutze Datastax Cassandra 4.8 Version. Verwenden von SOlr für die Suchaktivität. In meiner Tabelle habe ich chinesischen Charakter sowie englischen Charakter. Tabellenabruf funktioniert glatt für englische Zeichensuche, aber sobald ich versuche, nach chinesischem Zeichen zu suchen, gab es mir entweder 0 Zeilen oder gab mir einen Fehler.UTF-8 Problem in Datastxa Cassandra

cqlsh:tradebees_dev> select title,isbn,id,author from tradebees_dev.yf_product_books where solr_query = 'author:[英丽]朱莉娅·唐纳森'; 
'ascii' codec can't encode characters in position 106-107: ordinal not in range(128) 

Bitte schlagen Sie mir vor, wie Sie es korrigieren können. Ist irgendein Konfigurationsabschnitt, in dem ich irgendetwas aktivieren muss.

Antwort

0

Es sieht so aus, als ob die Autorenspalte für die Verwendung eines ascii-Datentyps konfiguriert ist. Ich kenne Datastax Cassandra nicht, daher konnte ich Ihnen nicht sagen, wie Sie es ändern können, aber ich denke, wenn Sie es in den Datentyp varchar ändern, sollte es funktionieren.

Sorry für die irgendwie generische Antwort, aber hoffe es hilft trotzdem.

+0

danke für Ihre Antwort .. Varchar wird nicht in Cassandra verwendet .. In Cassandra verwenden wir Text-Datentyp. Ich kann einfügen, aber nicht abrufen .. –

0

Es sieht so aus, als ob Sie in CASSANDRA-10875 gelaufen sind. Dies wurde in 2.0.13 behoben. Sie sagen nicht, welche Version von 4.8 Sie ausführen, aber ich würde vorschlagen, auf die neueste Version von 4.8 zu aktualisieren, wo dieses Problem behoben werden sollte.

+0

Können Sie mir bitte angeben für welche Version fragen Sie? Ich benutze DSE 4.8.9 Cassandra 2.1.15.1403 cqlsh 5.0.1 –

+0

Können Sie bestätigen, dass cqlsh hat die folgende Zeile 952: self.lastcmd = raw_input (Eingabeaufforderung) .decode (self.encoding) – mikea

+0

Sorry, aber in meinem Datastax, Ich kann die Datei cqlsh.py nicht finden. Kannst du mir bitte vorschlagen, in welcher Datei ich suchen muss? –