2010-06-30 6 views
6

Disons que j'ai une famille de colonne nommée Des questions comme ci-dessous: Questions = {
Qui êtes-vous: { nom d'utilisateur: « user1 » }, Quelle est la réponse: { nom d'utilisateur: " user1 " " ... }recherche en texte intégral Cassandra comme

Comment rechercher toutes les questions qui contiennent certains mots? Obtenez toutes les questions contenant «mot». Comment le faire en utilisant python ou au moins Java?

Répondre

3

Je suis novice dans le domaine de Cassandra, mais l'interrogation y est relativement limitée, comparée, par exemple, à une base de données relationnelle. (C'est par conception.) Je suis à peu près sûr qu'il n'y a pas de support pour la recherche en texte intégral pour le moment (cela peut ne pas être sur la feuille de route). Vous pourriez être mieux d'aller avec Lucene ou quelque chose de comparable pour indexer le texte des questions, soit dans le magasin de données Cassandra ou dans un datastore séparé.

Il semble y avoir au moins un projet qui tente d'intégrer Lucene avec Cassandra, et il peut y avoir d'autres:

Un autre façon d'aller dans votre cas pourrait être de briser les questions en mots et de maintenir votre propre index des mots aux questions; votre kilométrage peut varier ici, et quelque chose comme Lucene vous donnera sans doute plus de flexibilité dans l'interrogation.

4

Solandra (https://github.com/tjake/Solandra) est le nouveau nom de Lucandra. Solandra est une combinaison de Cassandra et de Solr (basée sur le moteur de recherche de texte intégral de Lucene). À elle seule, Cassandra ne s'attaque pas à la recherche de texte, bien que vous puissiez implémenter une indexation de texte de base en créant des familles de colonnes d'index secondaires (Google: index secondaire de cassandra).

2

On dirait que vous pourriez ajouter "Recherche DSE", de la part des gens qui supportent Cassandra, et vous auriez ce dont vous avez besoin. Lucene/Solr aime les capacités mais toutes les données stockées dans Cassandra.

http://www.datastax.com/dev/blog/cassandra-with-solr-integration-details

Vous avez une bonne solution donnée par la dernière gent, mais cette solution peut servir votre but mieux d'un point de vue de la facilité d'utilisation. Clause de non responsabilité: Je travaille pour un fournisseur NoSQL mais pas pour Cassandra.

Questions connexes