我正在尝试使用Thinking Sphinx和我的Can Can解决方案进行授权。
我发现这个答案很有帮助Cancan Thinking Sphinx current_ability Questions,但是想知道是否可以通过方面来实现这一目标。
所以我有项目,其中有一个名为privacy
的列,它是一个bool。如果项目是私有的,则有collaborator_ids
的索引,该索引是可以查看项目的所有用户的列表。
我想知道是否有办法使用facets形成一个查询来返回所有公共或私有的项目,并且用户的id在collaborator_ids
中。
我正在考虑的另一种方法是在我的控制器中制定扩展查询以检查这些字段。 http://sphinxsearch.com/docs/current.html#extended-syntax
答案 0 :(得分:1)
我不知道你怎么会想到狮身人面像,但在正常的狮身人面像中,这应该有效..
$cl->setSelect("*,privacy+IF(IN($user_id,collaborator_ids),1,0) AS myint");
$cl->setFilter('myint',array(1,2));
有效地制作了一个' OR'查询。
正如我所说,不能帮助你写一些东西 - 狮身人面像。