【问题标题】:Solr boosting results by number of values in a multi-valued fieldSolr通过多值字段中的值数量提升结果
【发布时间】:2014-04-02 05:54:02
【问题描述】:

有没有办法在查询时通过特定多值字段中的值数量来提升文档?即,值的数量越多,提升越多。

是否有类似 bf="count(pets)^5.0" 的东西 - 其中 pets 是一个多值字段?

我知道我可以在索引时存储计数,并在查询时使用bf="number_of_pets^5.0" 进行值提升。但是,我正在尝试为此找到一个查询时间解决方案,这样我就可以避免仅仅为了实现这一点而修改架构(并重新索引所有内容)。

【问题讨论】:

  • 你的意思是如果我有 3 个文档 - (id=1, color=red; id=2, color=red,blue; id=3,color=black, red) 然后你想查询这个文档,所以他们来了 id2、id3、id1?即使您查询 :。我理解正确吗?
  • 多值字段中的值数量越多,提升越多。由于文档 #2 和 #3 在字段颜色中具有更多值,因此它们位于文档 #1 之前。那是对的。有没有内置的方法来实现这一点?
  • 到目前为止,我不知道如何以内置方式进行操作。作为一种可能的解决方案 - 使用 bf 和自定义编写函数查询count

标签: solr lucene edismax


【解决方案1】:

这之前已经有been asked多个times了。看起来像是一个通缉的功能!

查看wiki,我看不到任何与多值字段相关的函数,因此我认为可以安全地假设在提供这些答案后没有任何变化。

【讨论】:

  • 感谢您的回答。发帖前我搜索过,但不知何故找不到这个!我最终分别索引了计数(我最初想避免的事情)。无论如何,谢谢。
  • 您可以查看CountFieldValuesUpdateProcessorFactory,它可以解决问题,但是我知道这仍然需要重新索引,并且仅适用于 Solr 4.1。
猜你喜欢
  • 1970-01-01
  • 2012-02-27
  • 1970-01-01
  • 1970-01-01
  • 2018-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多