搜索速度問題:本地索引與hdfs平臺索引,中文搜索與英文搜索速度不一致

晚上在oschina上看見有人發帖,大概意思如下:

 

1.在Nutch+hdfs平臺進行搜索,hdfs存放索引的時候搜索速度比索引存放在本地的時候慢。

2.中文搜索速度比英文搜索速度慢(或者搜英文比搜中文慢,作者沒詳細描述,但肯定是速度不一致,呵呵)

 

分析了一下,覺得

 

大概兩方面的問題:

1.搜索不提倡在hdfs上面進行。因爲在hdfs上面的索引可能不在同一節點,搜索可能需要請求n個節點才能完成。這樣,對在hdfs上面完成搜索較本地索引文件在本地的搜索性能會略遜一些。

2.關於中文速度比英文慢的問題。這個需要考慮如下幾個方面的原因:

2.1 索引中索引了多少文件,是不是很多?

2.2 中文是不是較英文多很多?

2.3 如果以上兩個假設都成立,那麼,或許原因是這樣的:

搜索引擎搜索索引大概分下面幾步走:

a.在倒排索引中找到關鍵詞對應的文檔列表

b.遍歷文檔列表,對每個文檔計算其相關度。

c.取相關度較高的topN個文檔返回

在索引比較小的情況下,這幾個步驟會非常快。對於中文、英文搜索速度上面幾乎會沒有什麼差別。

但是在索引比較大的情況下,中文文檔較多,自然關鍵詞對應的文檔列表會比英文的長一些,走完這幾個步驟的時間也會長一些。

當然,如果英文多一些,這個情況可能會反過來。

 

這些是一些不太成熟的想法。希望對大家有幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章