Php 以及sphinx中过滤器的多个值
我的sphinx索引标记_id中有一个属性,现在我想获取所有标记_id为10和11的记录 当我执行$sphinxClient->setFilter('tag_id',array(10,11))时,它会获取所有具有tag_id 10或11的数据 是否可以同时使用和和两个值而不是ORPhp 以及sphinx中过滤器的多个值,php,search-engine,sphinx,Php,Search Engine,Sphinx,我的sphinx索引标记_id中有一个属性,现在我想获取所有标记_id为10和11的记录 当我执行$sphinxClient->setFilter('tag_id',array(10,11))时,它会获取所有具有tag_id 10或11的数据 是否可以同时使用和和两个值而不是OR $sphinxClient->setFilter('tag_id', array(10)); $sphinxClient->setFilter('tag_id', array(11)); 多个对setFi
$sphinxClient->setFilter('tag_id', array(10));
$sphinxClient->setFilter('tag_id', array(11));
多个对setFilter的调用被AND:)为什么两个不同的值返回的结果是AND 就像 其中id=1和id=2 这是不可能的。
你能告诉我们你想在什么场景下工作吗?在我的情况下,巴里的回答不起作用 我已经检查了im过滤的内容-数组或非数组。根据所需值的规范:“整型值的普通数组”
if( !empty( $filters['user_id'] ) )
{
if( is_array( $filters['user_id'] ) )
{
$this->sphinx->setFilter( 'user_id', $filters['user_id'] );
}
else
{
$this->sphinx->setFilter( 'user_id', array( (int) $filters['user_id'] ) );
}
}
我也这么做了,但是用不同的值设置同一个过滤器(tag_id)效果不好,对我来说很好。你可能还出了什么问题。tag_id是MVA,不是吗?对于Sphinx,如果属性是MVA(多值属性),这种情况可以返回行:
其中tag_id=1和tag_id=2