繁体   English   中英

狮身人面像搜索-按条件从结果中排除

[英]Sphinx search - exclude from results by condition

有某种方法可以在某种条件下执行搜索吗?

我看到有SetFilter选项,但似乎不是我所需要的。

我想排除所有结果,其中某些列为空(例如company_title)。 但是我看不到我可以使用SetFilter定义它(或者我缺少了什么)?

这是atm的样子:

$results = SphinxSearch::search($search, 'profiles')
                        ->setSelect('id')
                        ->setMatchMode(\Sphinx\SphinxClient::SPH_MATCH_ALL)
                        ->limit(65, $skip);

好吧,你不能直接,因为狮身人面像索引不知道哪些列是空的(它索引文本内容,而不是缺少内容:)

因此,您必须创建一个属性来存储该事实

sql_query = SELECT id, company_title, IF(company_title='',1,0) AS empty_title, ... 

sql_attr_bool = empty_title

然后可以将其与setFilter一起使用

->setFilter('empty_title',array(0));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM