拆解Clucene 系列(1)---Clucene的特点和难点
来源:互联网 发布:网易云课堂网络 编辑:程序博客网 时间:2024/05/29 16:22
最近,我在阅读和学习Clucene的源代码,在此记录学习和使用心得。网上也有一些分析教程。但几乎都是大同小异。
搜索是本身是一个偏重于算法和流程的东西。我感觉使用面向过程的编程模式反而更好理解一些,但Clucence使用C++的特性,高度面向对象化,到处是接口。反而加大了理解难度。
clucene的特点:
- 支持Ascii和unicode两种字符集。
- 支持多线程并行查询。
- 支持多种查询方式。
- 代码组织结构清晰简洁。
- 几乎不依赖第三方库,部署配置简单。
- 索引文件格式独立于应用平台,程序可以跨平台编译运行。
- 程序自带有多种分析器,并且很容易扩展。
- Clucene提供的api,比较简单易懂。
- 在代码中,使用了较多的设计模式。设计模式主要有职责链模式,工厂模式,组合模式,迭代器模式等。
- 构建索引的过程。
- 索引合并的过程。
- 权重打分的算法。
- 模糊查询的实现。
- Bool查询的实现。
- 一些算法的实现(跳跃表的实现,边界距离的实现)。
- 代码量比较大,但也没有日志,跟踪不到整个流程。
Clucence的几个重要术语有:http://blog.csdn.net/smartfox80/article/details/52182689
0 0
- 拆解Clucene 系列(1)---Clucene的特点和难点
- 拆解Clucene 系列(2)——Clucene的几个专业术语
- 拆解Clucene系列(3)——Clucene的代码组织结构
- clucene的highlighter
- clucene的位置信息
- CLucene的资料
- CLucene源码剖析(1)
- CLucene开发杂记(1)
- [CLucene]CLucene简介
- clucene安装与使用(1)
- CLucene数据类型
- 初识 CLucene
- linux下安装javabridge和clucene
- 关于CLucene的一些的资料
- CLucene里面最虚的类
- Clucene构建索引的辅助工具类剖析
- clucene创建IndexSearcher时失败的原因
- CLucene源码剖析(序)
- Wireshark图解教程(简介、抓包、过滤器)
- 有用的在线工具地址整理
- JSTL 核心标签库 使用
- 原码、反码、补码
- 每天一个linux命令(7):mv命令
- 拆解Clucene 系列(1)---Clucene的特点和难点
- POJ 3083--Children of the Candy Corn
- 每天一个linux命令(8):cp 命令
- 结构体字节对齐问题
- Android Robotium测试框架
- 安装libsvm工具包
- chrome跨域访问
- 每天一个linux命令(9):touch 命令
- linux简介