1

我有一个带有 MVA 的文档集,我需要过滤具有所有必需属性的文档(假设我需要所有具有“java”和“oracle”标签的“新闻”文档,假设我有标签 id)。

在 ThinkingSphinx ( http://pat.github.com/ts/en/searching.html#filters ) 我发现了一个有用的符号:

为了匹配多值属性中的多个值, :with 并不能完全满足您的要求。试试 :with_all 吧:

Article.search 'pancakes',   :with_all => {:tag_ids => @tags.collect(&:id)}

据我猜测,这允许过滤具有所有提供的属性的文档,而不是获取具有任何提供的属性列表以供SetFilterRange使用的文档。

任何人都可以至少在标准 PHP 接口方面提出解决方案吗?希望我能把它转换成java。

4

1 回答 1

0

对 setFilter 的多次调用是 ANDed。正如您所注意到的,为一个呼叫指定多个 ID 是 ORed。

$cl->setFilter('tag_ids',array($tag_id1));
$cl->setFilter('tag_ids',array($tag_id2));
$cl->setFilter('tag_ids',array($tag_id3));

抱歉不能帮助使用 java 语法。

于 2013-01-12T18:27:37.280 回答