我目前有一個SOLR查詢使用查詢(q),查詢字段(qf)和短語字段(pf)來檢索我想要的結果。一個例子是:添加日期增強到複雜的SOLR查詢
/solr/select
?q=superbowl
&qf=title^3+headline^2+intro+fulltext
&pf=title^3+headline^2+intro+fulltext
&fl=id,title,ts_modified,score
&debugQuery=true
的想法是,標題和「主項」的標題給出的結果是「關於」什麼是最好的指示,但介紹和全文提供一些輸入了。也就是說,想象一下鏈接集合,其中集合本身具有元數據(它是一個集合),但是每個鏈接都有它自己的數據(鏈接標題,摘要等)。如果我們搜索「超級碗」,最相關的結果是收集元數據中的「超級碗」,最不相關的結果就是其中一個鏈接的簡介中的「超級碗」。所有有效的結果。
我想要做的是增加相關度分數的提升,以便最近的結果向頂部浮動,但保留標題,標題,介紹,全文作爲公式的一部分。集合元數據中的搜索字符串的最近結果將比僅在鏈接元數據中的搜索字符串更具相關性......但是「僅鏈接」最近的結果可能比具有搜索字符串的非常舊的結果更相關收集元數據。 (我希望這有點清楚)。
問題是,我無法弄清楚如何將SOLR站點上記錄的boost函數與qf/pf字段的使用結合起來。具體...
從SOLR網站,類似下面的作品按日期提振結果:
/solr/select
?q={!boost%20b=$dateboost%20v=$qq}
&dateboost=ord(ts_modified)
&qq=superbowl
&fl=ts_modified,score
&debugQuery=true
但是,我想不出如何在查詢與使用QF的結合和pf。任何建議都會比歡迎。
由於danben的反應,我能想出如下:
/solr/select
?q={!boost%20b=$dateboost%20v=$qq%20defType=dismax}
&dateboost=ord(ts_modified)
&qq=superbowl
&qf=title^3+headline^2+intro^2+fulltext
&pf=title^3+headline^2+intro^2+fulltext
&fl=ts_modifieds,score
&debugQuery=true
它看起來像我有實際的問題是:
- 我左右空間在Q PARAM而不是在複製/粘貼時轉義它們(%20)
- 我沒有在我的q參數中包含defType = dismax,因此它會關注qf/pf參數
所以,可悲的是我多次閱讀該頁面,試圖找出結果。我回去重讀它,因爲您似乎認爲答案在那裏......而且我最終通過用%20替換查詢(1)中的空格並將「defType = dismax」信息添加到它。非常感謝。 – RHSeeger 2010-02-01 20:05:56
還有一點需要注意的是,如果您的日期不使用TrieFields(在Solr 1.4中引入),則不能使用ms函數。 – 2010-06-03 19:04:26