2013-02-04 68 views
1

我想在索引我的內容時對最新數據進行破解。例如 內容從現在到6個月過去應該從6個月過去升壓= 10 和內容12個月過去應該有升壓= 5 舊內容應該具有升壓= 0如何獲取日期並將其與索引進行比較

我的日期將被保存爲時間戳等等唯一的問題是在索引時獲取當前日期

我可以從行中獲取內容的日期,這是在我的函數中的參數,但我不知道如何獲取當前日期並進行比較。應該是這樣的嗎?

還有一個問題

有沒有辦法檢查boost?我的意思是我可以監視什麼是提升如何?因爲使用結果列表與成千上萬的夫婦的文章是很難MESURE

//編輯答案

GOT IT

腳本應該是這樣的(這是一個1年過去及以上

<script> 
<![CDATA[ 
function s1(row) { 
var curTime = parseInt(new Date().getTime()/1000); 
var itemDate = row.get('publication_date'); 
if(itemDate >= (curTime - 31104000)) { 
    row.put('$docBoost', 40); 
} else { 
    row.put('$docBoost', 20);  
} 

return row; 
} 
]]> 
</script> 

回答

3

我建議使用查詢/搜索時間提升來代替您的用例。主要優點是您不需要定期重新索引文檔以調整提升。請參閱Date Boosting"How can I boost the score of newer documents"維基提示

+0

我發現這個樣本,但我想在索引內容時做到這一點。我每天至少做一次,我希望每次都重新計算,而且我不想讓我的查詢更復雜 – Fixus

相關問題