【问题标题】:Boost SOLR/LUCENE documents having certaint category / tags - simulate 'IF' function提升具有确定类别/标签的 SOLR/LUCENE 文档 - 模拟“IF”功能
【发布时间】:2011-10-03 15:24:32
【问题描述】:

问题:在 category=999 的文档上添加 2x boost。 解决方案:3.2

尝试使用:

  • bq 组件bq=category_id:999^2

-> 这是不可接受的,因为它会产生加法(而非乘法)提升

-> term 查询不返回 1 或 0,而是必须归一化的 lucene 分数

  • IF 函数

-> 还没有在 solr 3.2 中,将在下一个版本中提供:https://issues.apache.org/jira/browse/SOLR-2136

【问题讨论】:

    标签: lucene solr full-text-search


    【解决方案1】:

    您是否尝试过添加剂提升并发现它失败了?我的经验是,这种方法在大多数情况下都可以正常工作。

    如果您愿意,您可以将评分公式简化为sum_t match(t) * boost(t)match(x) 中的{0,1},然后查询foo (+foo +category:9999) 相对于foo 使得分翻倍。实际的评分公式包含标准化术语等,这可能会使完全翻倍变得不可能,但如果你真的有动力,你也许可以解决 - 公式是here

    当然,您总是可以编写自己的 Weight 类。

    【讨论】:

      猜你喜欢
      • 2011-02-15
      • 1970-01-01
      • 2011-06-11
      • 2011-05-07
      • 1970-01-01
      • 1970-01-01
      • 2011-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多