【问题标题】:ElasticSearch : boost popularity AND dateElasticSearch:提高人气和日期
【发布时间】:2015-11-13 18:29:32
【问题描述】:

就像https://www.elastic.co/guide/en/elasticsearch/guide/current/boosting-by-popularity.html 一样,我想通过他们的受欢迎程度来提升我的搜索结果。

但我也想提升最近的。

我想把这个请求与 RobMaters 的请求结合起来:Is it possible to boost 'newest' items using elasticsearch? (FOQElasticaBundle)

我觉得以某种方式(字段值因子函数)和另一种方式(直接在范围查询中)提高流行度有点奇怪--> 有没有“好”的方式来做到这一点?

(如果有用的话我用java api)

【问题讨论】:

  • 我可以想象一个带有多个shoulds 的bool 查询:有几个使用boost 进行range 查询,另一个使用该方法来提升人气。为什么奇怪?
  • 仅仅因为“升压”概念并没有以同样的方式应用于日期和受欢迎程度......

标签: elasticsearch


【解决方案1】:

这已经很老了,但是对于遇到这种情况的其他人,我建议看看这个资源:https://www.voxxed.com/2014/12/advanced-scoring-elasticsearch/

您可以将function_score 应用于查询并提供可以根据字段值进行提升的函数。 gauss 函数是约会的好选择,field_value_factor 可能适合流行度测量。也没有什么能阻止你将两者结合起来。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多