Clucene系列1--特点和难点

y

搜索是本身是一个偏重于算法和流程的东西。我感觉使用面向过程的编程模式反而更好理解一些,但Clucence使用C++的特性,高度面向对象化,到处是接口。反而加大了理解难度。

clucene的特点:

支持Ascii和unicode两种字符集。
支持多线程并行查询。
支持多种查询方式。
代码组织结构清晰简洁。
几乎不依赖第三方库,部署配置简单。
索引文件格式独立于应用平台,程序可以跨平台编译运行。
程序自带有多种分析器,并且很容易扩展。
Clucene提供的api,比较简单易懂。
Clucence的难点有:
在代码中,使用了较多的设计模式。设计模式主要有职责链模式,工厂模式,组合模式,迭代器模式等。
构建索引的过程。
索引合并的过程。
权重打分的算法。
模糊查询的实现。
Bool查询的实现。
一些算法的实现(跳跃表的实现,边界距离的实现)。
代码量比较大,但也没有日志,跟踪不到整个流程。
————————————————
版权声明:本文为CSDN博主「聪明的狐狸」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuxin8000/java/article/details/52182157

原文地址:https://www.cnblogs.com/fengtai/p/11729723.html