Php 以及sphinx中过滤器的多个值

Php 以及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

我的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));

多个对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