下一個階段(用C++重寫Lucene的計劃)

來源:互聯網
上載者:User

    Lucene是一個非常優秀的開源搜尋引擎架構,原語言是用的Java,現在已經被擴充到了各種語言上,如Python,C++,.Net,那為什麼我還要重寫呢?

    其實重寫代碼是一個非常有價值的事情,對於代碼的理解和看看代碼是兩碼事,特別是對我這樣的代碼半吊子,我對於各種設計模式也只是一知半解,真正的應用起來還是覺得有點不是很流暢,之前重寫過一個基於C#的3D引擎,感覺收穫很大,很多之前沒有理解的問題就很快的理解了,重寫不僅是做無用功的。

    下一個階段主要想實現一下Lucene的一些核心架構,比如說Analyzer,Tokenizer,以及索引的建立和合并的過程,其中還涉及到一些檔案操作的進階內容。

    下一個階段的計劃是在半個月左右,完成Lucene的核心內容的編寫,暫時可以不考慮中文支援的內容。

    首先看一本C++的書,怎樣才能把C++的代碼寫得安全,在演算法方面進步的同時,也需要在代碼的方面進步(2-3天,這個時間可能是穿插在平時的時間中的)

    其次瞭解一下Lucene的構造,類方面的構造,用了哪些設計模式等等,這個就需要通讀一下代碼(3-5天)

    然後需要重寫一下IO類,構造一個方便的FileSystem,C++的IO一直是我很頭疼的內容,需要好好掌握一下。(3-5天)

    然後就是重寫的事情了,在理解了代碼的基礎上重寫倒是不算太麻煩。(7天)

    更具體的心得,總結,計劃將在之後給出

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.