如何在solr中处理特定值的文档?

时间:2014-01-21 09:29:15

标签: solr solr-boost

我正在尝试在solr中实现jobsearch。 我想要的是提升标题和关键字字段。 并且负面地推动那些位置在任何地方的文件。

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

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

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

1 个答案:

答案 0 :(得分:0)

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

((((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