Думаешь сфинкс с настройками приватности используя грани? - PullRequest
1 голос
/ 03 марта 2012

Я пытаюсь использовать Thinking Sphinx с моим решением Can Can для авторизации.

Я нашел этот ответ полезным. Cancan Thinking Sphinx. Вопросы , но мне было интересно, может ли быть способ сделать это с помощью аспектов.

Итак, у меня есть проекты, в которых есть столбец с именем privacy, который является логическим значением. Если проект является приватным, то существует индекс для collaborator_ids, который представляет собой список всех пользователей, которые могут просматривать проект.

Мне было интересно, есть ли способ сформировать запрос с использованием фасетов для возврата всех проектов, которые являются либо общедоступными, либо частными, а идентификатор пользователя находится в collaborator_ids.


Другой подход, который я рассматриваю, заключается в формулировании расширенного запроса в моем контроллере для проверки этих полей. http://sphinxsearch.com/docs/current.html#extended-syntax

1 Ответ

1 голос
/ 04 марта 2012

Я понятия не имею, как бы вы делали это, думая о сфинксе, но в нормальном сфинксе это должно работать ..

$cl->setSelect("*,privacy+IF(IN($user_id,collaborator_ids),1,0) AS myint");
$cl->setFilter('myint',array(1,2));

, который эффективно делает запрос 'ИЛИ'.

Как я уже сказал, я не могу помочь вам написать это в штучке-сфинксе.

...