【问题标题】:How to penalize a document for a particular value in solr?如何惩罚 solr 中特定值的文档?
【发布时间】:2015-01-23 15:31:22
【问题描述】:

我正在尝试在 solr 中实现求职。 我想要的是提升标题和关键字字段。 并且还可以负面提升位置在任何地方的那些文档。

例如: 我搜索了“Perl”和位置“Mumbai” 结果必须包含标题或关键字中带有 Perl 的所有简历以及位置“孟买或任何地方”。 但是 Resume with Anywhere 字段必须排在最后。 我做了以下查询:

  ((((perl)) AND ( (perl) ttl:(perl)^5 kw:(perl)^2) ) 
 AND (( pref:(Mumbai)   (pref:Anywhere)^0.000000001)) )

但它没有给出正确的结果。 请提出建议。

【问题讨论】:

    标签: solr solr-boost


    【解决方案1】:

    伪造“负提升”的一种方法是对所有匹配的内容进行大幅提升。你可以用你的查询来做这样的事情(未经测试,所以试验一下):

    ((((perl)) AND ( (perl) ttl:(perl)^5 kw:(perl)^2) ) 
     AND (( pref:(Mumbai)   (*:* -pref:Anywhere)^999 ) )
    

    这里有更多关于它的信息:http://wiki.apache.org/solr/SolrRelevancyFAQ#How_do_I_give_a_negative_.28or_very_low.29_boost_to_documents_that_match_a_query.3F

    【讨论】:

    • 但我认为它也会抵消对ttl和kw的提升。因此文档顺序不会按照ttl和kwd排列,降低相关性。如果我错了,请纠正我。跨度>
    • 我不这么认为,你试过了吗?
    • 请详细说明一下。我对这一切都很陌生,如果它完美运行,那将是一个很大的解脱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 2021-06-13
    • 2022-06-11
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    相关资源
    最近更新 更多