【问题标题】:sphinx facet search: 'with_all' analogue for php/javasphinx facet search: 'with_all' 类似物用于 php/java
【发布时间】:2013-01-11 23:55:24
【问题描述】:

我有一个带有 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 使用提供的 attr 列表。

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

【问题讨论】:

    标签: java sphinx thinking-sphinx faceted-search


    【解决方案1】:

    对 setFilter 的多次调用是 AND 运算。正如您所注意到的那样,为一个调用指定多个 ID 是 ORed。

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

    抱歉,无法帮助您了解 java 语法。

    【讨论】:

    • 啊,太简单了!谢谢! java 只是包含所有这些方法的包装器,尤其是 Client.SetFilter()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多