2017-01-24 40 views
0

索引時間期間,可以設置一個提升因子值,然後更改返回文檔數組中特定記錄的位置。索引期間的Cloudant Lucene提升因子

示例: index(「default」,doc.my_field,{「index」:「analyze」,「boost」:doc.boostFactor});

當應用此推動因子時,我可以看到排序發生變化。但是,它似乎是隨機的。 我認爲一個大於1的數字會將文檔排序得更高。

有沒有人設法使Cloudant正常工作的推動因子?

回答

1

是的,Cloudant增強因子應該正常工作。將boost設置爲特定文檔的字段,將在此字段上搜索時修改此文檔的分數:Score = OriginalScore * boost

你是否在同一個領域搜索你提升?你的查詢是怎樣的?字段my_field是否包含多個令牌?這也可能影響得分(例如,較長的領域得分較少)。

您可以在結果中的order字段中觀察文檔的得分,然後通過修改boost觀察得分如何變化。

+0

感謝您的回覆。 –

+0

我們預先計算每個文檔的增強因子值。 我們最初的計算基於1和20之間的值,其中20應該得到最高的提升。 但是,當應用它時,我們注意到該因素影響順序,但我們的一些20年排序低於沒有增強因子。 對於其他一些搜索結果,它按預期工作,整體上看起來是隨機的。 我們也嘗試了不同的級別(1到10,1到100等),但結果相似。 我們在一個受限制的數據庫中進行了測試,以避免數據庫的外部變化。 –

+0

可以直接搜索具有增強因子的字段,但通常情況並非如此。 –