2012-11-16 52 views
1

我一直在尋找Subtext的Lucene.Net實現作爲一個指南來做一些類似於我們的網站。當Subtext索引或搜索給定的帖子時,它通過NumericUtils.IntToPrefixCoded運行ID。 根據Lucene文檔,它做了一些轉換,但不會失去精度。 那麼,有什麼意義?它做什麼,爲什麼?Lucene有什麼意義NumericUtils.IntToPrefixCoded

回答

1

你需要看看class documentation,這說明它的詳細信息:

要在Apache的Lucene的快速執行範圍查詢,範圍劃分 遞歸地分成多個區間搜索:的中心 範圍僅在搜索結果中可能的最低精度下搜索,而邊界匹配得更精確。這大大減少了術語數量 。

該類生成條件來實現這一點:首先數字 整數值需要轉換爲字符串。對於該整數, 值(32位或64位)被製成無符號,並且該位被每個7位轉換爲ASCII字符。生成的字符串可排序,如 原始整數值。在編碼過程中,每個值都使用 作爲前綴(前 字符)的前綴值(刪除的位數)爲shift

據我所知,intToPrefixCoded方法正是如此:取int值,轉移它,並返回排序String如上所述。

+0

啊哈,謝謝。換句話說,所有的表現。 –