参数bq使用分组修改构面计数

时间:2012-02-28 19:19:55

标签: solr facet edismax fieldcollapsing

我正在使用solr trunk搜索某些文档并按类别对它们进行分组,但我必须先将它们分组到另一个字段。更具体地说,我正在使用此架构:

  • component_id:string
  • category:string
  • name:text

我有两份文件:

  1. component_id = register1,category = category1,name ='foo bar'
  2. component_id = register1,category = category2,name ='foo bar zoo'
  3. 我的查询是(仅相关参数):

    {edismax qf = name}(foo bar)& group.field = component_id& group.truncate = true& facet.field = category& bq = category:category1 ^ 2

    方面的结果是:

    'category': 
    'category1', 1 
    'category2',1
    

    但是,当我更改bq参数时,例如:bq = category:category1 ^ 20

    方面结果发生了变化:

    'category':
    'category1', 1   
    'category2', 0
    

    这是可能的吗?是个bug吗?如果我设置了group.truncate = false,那么这个例子的一切都很好,但是其余的查询都失败了。

    谢谢&问候

1 个答案:

答案 0 :(得分:0)

我自己回答。

当您的数据统一或者您的组包含类似对象时,

group.truncate是正确的选项,但在混合来自不同类别的数据时会出现问题。

如果group.truncate = true | A | ∪| B | <> | A | + | B | - A∩B

bq参数一切正常。