2014-01-21 85 views
0

我正在嘗試在solr中實現jobsearch。 我想要的是提升標題和關鍵字字段。 同時也負面推動那些位置在任何位置的文檔。如何在文檔中處理特定值的文檔?

例如: 我搜索「的Perl」和位置「孟買」 的結果必須包含在其名稱或關鍵詞和位置「孟買或任何」 Perl的所有簡歷。 但隨處可用的字段必須出現Last。 我提出以下查詢:

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

,但它是不是給正確的結果。 請建議。

回答

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

+0

但我認爲這也將抵消提升上TTL和因此文件順序不會按照ttl和kwd排列,從而降低相關性。如果我錯了,請糾正我。 –

+0

我不這麼認爲,你嘗試過嗎? – Arun

+0

請詳細說明一下。我對這一切都很陌生,如果它能夠完美地工作,那麼它會讓人很放心。 –