Как запросить из ListColumn [String] в cassandra с помощью фантома

Я новичок в cassandra (несколько дней назад начал учиться в своем собственном интересе) и ищу помощи по следующей проблеме.

У меня есть таблица Cassandra «Пользователь» и ListColumn «интересы расширяют ListColumn [String]». Теперь я хочу привлечь всех заинтересованных пользователей, скажем, «играющих».

например: выберите у пользователя, где интересы. содержит («играет»)! Я просмотрел API-интерфейс ListColumn, но не смог его найти. Кроме того, искал в Google, но таких полезных сообщений не было.

Любая помощь, ребята, пожалуйста... Заранее спасибо :)


person ArunavaS    schedule 10.10.2016    source источник
comment
Будет ли это единственным условием в вашем запросе?   -  person michaJlS    schedule 10.10.2016
comment
Какое-то другое поле может быть включено в запрос... но на данный момент единственное условие будет работать...   -  person ArunavaS    schedule 10.10.2016


Ответы (2)


Итак, среди операторы, а вот пример как его использовать. Похоже, что он должен работать как любой другой оператор, так что просто используйте database.userTable.select.where(_.interests contains "playing").fetch() — конечно, в зависимости от ваших соглашений.

person michaJlS    schedule 10.10.2016
comment
Большое спасибо ... ценю вашу помощь :) - person ArunavaS; 12.10.2016
comment
Большое спасибо... Спасибо за вашу помощь :) - person ArunavaS; 12.10.2016

Это возможно с помощью вторичного индекса в столбце коллекции, который работает только со столбцом Set, а не со столбцом List.

Нижняя линия:

object interests extends SetColumn[String](this) with Index[Set[String]]

И тогда вы можете выполнить следующее:

select.where(_.interests contains "test").fetch()

Вы также можете использовать несколько ограничений, если разрешите фильтрацию.

select.where(_.interests contains "test")
  .and(_.interests contains "test2")
  .allowFiltering()
  .fetch()

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

person flavian    schedule 10.10.2016
comment
Большое спасибо ... ценю вашу помощь :) - person ArunavaS; 12.10.2016