2017-12-14 13 views
0

私のテーブルムービーには、ムービーのジャンルのリストが含まれている列があります。Cassandraの一部のクエリでエラーが表示される

データにINDEXを挿入しようとしました。

CREATE INDEX ON movies (genres); 

私は、ドキュメンタリーまたはミュージカルのジャンルのすべての映画をリストしようとすると、私は結果を得ています。

Select * from movies where genres contains 'Documentary'; 

しかし、私はエラーを取得しています、スリラー、コメディや犯罪などの他のジャンルのすべてのムービーをリストしようとしている:

Select * from movies where genres contains 'Thriller'; 

ReadFailure: Error from server: code=1300 [Replica(s) failed to execute read] message="Operation failed - received 0 responses and 1 failures" info={'failures': 1, 'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'} 

どのようにそれをすることができますか?

答えて

0

私はあなたの擬似列名をONステートメントの前にリストする必要があると思います。あなたはちょうどあなたは可能性がある特定のジャンルを表示しようとしている場合

CREATE INDEX new_genres ON movies (genres); 

SELECT genres 
FROM movies 
WHERE genres LIKE 'DOCUMENTARY' 
and genres LIKE 'MUSICAL'; 

これは、彼らが属しているすべてのムービーに対応する指定されたジャンルの一覧が表示されます。

こちらがお役に立てば幸いです。

+0

私はインデックスを削除してそれを再割り当てしましたが、何も変更されませんでした。私は何とかLIKEを使用することはできません... –

+0

私は最初のステップとこれをデバッグすると、サーバーとの接続をチェックすると思います。おそらく、あなたのプログラムをテストすることが分かっている非常に曖昧なSELECT * FROMステートメントを試してみてください。 –

0

tombstone_failure_thresholdを超えるとこのエラーが発生することがあります。

cassandra.yamlでtombstone_failure_thresholdを増やすか、または で修復と圧縮を実行してトゥームストーンをクリーンアップすることができます。

関連する問題