我想開發像應用程序的Google桌面搜索,我想知道我應該使用哪種索引技術/算法,這樣我可以獲得非常快速的數據檢索。索引算法開發一個應用程序,如谷歌桌面搜索?
0
A
回答
3
用於在bzip2中壓縮數據的Burrows-Wheeler變換可用於使文本的子字符串搜索爲恆定時間函數。
http://en.wikipedia.org/wiki/Burrows-Wheeler_transform
我還沒有看到一個簡單的介紹在網上,但這裏是很多的細節:
+0
有趣的文章,謝謝! –
6
在一般情況下,你要的是一個Inverted Index。您可以自己進行索引編制,但要正確處理很多工作 - 您需要處理stemming,stop words,擴展發佈列表以包含文檔中的位置,以便處理多字查詢等等。然後,您需要將索引存儲在磁盤上的B-Tree中,或者您可以使用磁盤存儲的現有數據庫(如BDB)使您的生活更輕鬆。您還需要編寫一個查詢計劃程序來解釋用戶查詢,執行query expansion並將其轉換爲一系列索引掃描。維基百科有關Search Engine Indexing的文章也很好地概述了所有的挑戰。
或者,您可以利用現有的工作,並使用現成的全文索引解決方案,如Apache Lucene和Compass(它基於Lucene構建)。這些工具幾乎可以處理上面(以及更多)詳細描述的所有內容,這隻會讓您編寫工具來構建和更新索引,方法是將所有文檔都提供到Lucene中,然後使用UI來允許用戶搜索它。
相關問題
- 1. 像谷歌搜索引擎的SQL桌面應用程序
- 2. 桌面搜索算法
- 3. 谷歌應用程序引擎 - 搜索API 10GB每個索引限制
- 4. 谷歌應用程序引擎應用程序的索引
- 5. 全文搜索谷歌應用引擎
- 6. 用谷歌應用程序引擎搜索Facebook圖表API
- 7. 應用索引:谷歌應用程序搜索不與指定的URI工作
- 8. Branch.io應用索引不是通過谷歌搜索應用程序
- 9. 谷歌搜索從一個iPhone應用程序
- 10. 谷歌應用程序引擎搜索API速度緩慢
- 11. 谷歌應用程序引擎,全文搜索爲空(無)場
- 12. Android應用谷歌搜索
- 13. 打開谷歌搜索頁面
- 14. 谷歌搜索頁面裏的flex應用程序
- 15. 谷歌搜索引擎
- 16. 如何搜索桌面程序
- 17. 谷歌應用程序內引擎全文搜索,這是更好的,「谷歌定製搜索」或嗖
- 18. 谷歌熊貓搜索算法
- 19. 谷歌算法的現場搜索
- 20. 無法搜索「C++」在谷歌搜索
- 21. 谷歌索引開發服務器
- 22. 谷歌搜索算法拼寫錯誤的搜索關鍵字
- 23. Excel VBA打開谷歌的第一個搜索結果頁面
- 24. 谷歌搜索
- 25. 使用谷歌搜索一個網址
- 26. 谷歌搜索谷歌搜索谷歌API或r python
- 27. 如何在桌面應用程序中添加Google搜索框?
- 28. 谷歌位置搜索在Android應用程序,如OlaCabs
- 29. 使用谷歌應用程序引擎索引營業時間
- 30. 谷歌應用程序引擎,OpenID的+ OAuth的桌面應用程序
問題太普遍 –
嘗試搜索B-Trees ... –
是否有任何其他人用於快速數據檢索的技術? – SunnyShah