有没有办法按某种条件执行搜索?
我看到有SetFilter
选择,但似乎这不是我需要的。
我想排除所有结果,这些结果已经清空了一些列(例如 company_title)。但是我不明白我可以用SetFilter
来定义它(或者我错过了一些东西)?
这是它看起来像自动取款机的样子:
$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('empty_title',array(0));