Кассандра полнотекстовый поиск, как - PullRequest
7 голосов
/ 01 июля 2010

Допустим, у меня есть семейство столбцов с именем Вопросы, как показано ниже Вопросы = {
Кто ты: { имя пользователя: "user1" }, Какой ответ: { имя пользователя: "user1" } ... }

Как мне найти все вопросы, содержащие определенные слова? Получить все вопросы, которые содержат слово «что». Как мне сделать это с помощью Python или хотя бы Java?

Ответы [ 3 ]

4 голосов
/ 19 апреля 2011

Соландра (https://github.com/tjake/Solandra) - это новое имя для Лукандры.

Solandra - это комбинация Cassandra и Solr (основанная на полнотекстовой поисковой системе Lucene).

Cassandra сама по себе не занимается текстовым поиском, хотя вы можете реализовать некоторую базовую индексацию текста, создав семейства столбцов вторичного индекса (Google: вторичный индекс cassandra).

3 голосов
/ 06 июля 2010

Я новичок в Cassandra, но запросы в нем относительно ограничены, по сравнению, например, с реляционной базой данных.(Это сделано специально.) Я почти уверен, что в настоящее время нет поддержки полнотекстового поиска (это может даже не быть в дорожной карте).

Возможно, вам лучше пойти с Lucene или чем-то похожиминдексировать текст вопросов либо в хранилище данных Cassandra, либо в отдельном хранилище данных.

По-видимому, существует по крайней мере один проект, которыйпытаясь интегрировать Lucene с Cassandra, и могут быть другие:

Еще один способ пойти в вашем случае может быть разбить вопросы на словаи поддерживать свой собственный указатель слов к вопросам;Ваш пробег может варьироваться здесь, и что-то вроде Lucene, несомненно, даст вам большую гибкость в запросах.

2 голосов
/ 06 мая 2013

Звучит так, будто вы можете добавить «Поиск DSE» от людей, которые поддерживают Кассандру, и вы получите то, что вам нужно. Lucene / Solr, как возможности, но все данные хранятся в Cassandra.

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

У вас есть хорошее решение, данное последним джентльменом, но это решение может лучше служить вашим целям с точки зрения удобства использования.

Отказ от ответственности: я работаю на поставщика NoSQL, но не на Cassandra.

...