1

コンテンツのインデックス作成中に最新データのバストを作成したい。たとえば、現在から 6 か月前までのコンテンツはブースト = 10、過去 6 か月から 12 か月前までのコンテンツはブースト = 5、古いコンテンツはブースト = 0 とする必要があります。

私の日付はタイムスタンプとして保存されるため、唯一の問題はインデックス作成中に現在の日付を取得することです

関数のパラメーターである行からコンテンツの日付を取得できますが、現在の日付を取得して比較する方法がわかりません。それはこのようなものであるべきですか?

そしてもう1つの質問

ブーストを確認する方法はありますか?つまり、ブーストされたものをどのように監視できますか? 数千の記事で結果リストを使用するのは測定が難しい原因

// 回答を編集

とった

スクリプトは次のようになります (これは 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>
4

1 に答える 1

3

ユースケースでは、代わりにクエリ/検索時間のブーストを使用することをお勧めします。主な利点は、ブーストを調整するためにドキュメントを定期的に再インデックス化する必要がないことです。Date Boostingおよび「How can I boost the score of newer documents」 wiki のヒントを参照してください。

于 2013-02-04T11:27:21.010 に答える