2014-03-30 57 views
0

我是Solr的新手,感覺除了使用「qf」和「pf」參數外,還有其他方法可以提高結果。Apache Solr - 提高結果的替代方法

有人可以給我一個替代方法來做到這一點。我有三個領域,並希望將我的提升基礎放在這三個領域。假設有一個布爾值(1或0)的字段,我想提高取值爲1的結果。有沒有辦法做到這一點?我們必須寫出某種「如果」的情況,對嗎?簡單地說,是否有辦法完成它?

感謝

回答

1

如果使用edismax,或dismax查詢分析器,這是最有可能,你可以使用BQ(​​升壓查詢)的病例,或BF(升壓功能)

因此,對於你的榜樣,我想補充一個升壓這樣的查詢

bq=Myfield:1^2.0 

http://wiki.apache.org/solr/DisMaxQParserPlugin#bq_.28Boost_Query.29

如果您使用的是標準的查詢分析器,您可以使用BoostQParserPlugin,然後鍵入您的查詢,如下所示:q={!boost b=xxx}query

您還可以使用solr magic參數_val_,這會影響提升分數,並且不會影響匹配。