zoukankan      html  css  js  c++  java
  • 下一个阶段(用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天)

        更具体的心得,总结,计划将在之后给出

  • 相关阅读:
    LeetCode 189. Rotate Array
    LeetCode 965. Univalued Binary Tree
    LeetCode 111. Minimum Depth of Binary Tree
    LeetCode 104. Maximum Depth of Binary Tree
    Windows下MySQL的安装与配置
    LeetCode 58. Length of Last Word
    LeetCode 41. First Missing Positive
    LeetCode 283. Move Zeroes
    《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》读后感
    删除docker下的镜像
  • 原文地址:https://www.cnblogs.com/LeftNotEasy/p/1612177.html
Copyright © 2011-2022 走看看