下一个阶段(用C++重写Lucene的计划)
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天)
更具体的心得,总结,计划将在之后给出
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步