搜索引擎工具包:
1. Lucene.
他是一个全文搜索引擎工具包,但只支持文本文件以及少量语种的索引;
通过Lucene提供的接口, 我们可以自己开发具体语言的分词器, 针对具体文档的文本解析器等;
Lucene是索引数据结构事实上的标准;
使用Java编写, 但是被转化为多个库;
2. LIUS
是Lucene的加强版,Lucene Index Update and Search
增加了对多种文档的支持, 增加了索引更新功能;
3. Egother
一个用于全文搜索引擎的Java库,能够为具体的应用程序添加全文搜索功能;
新的动态算法提高索引的更新速度;
支持平行的查询方式,
支持多种文档
4.Xapian
使用C++编写, 提供绑定程序使得其他语言能够方便地使用它;
便于进行二次开发
5. Campass
在Lucene上实现的开源搜索引擎架构, 提供更加简洁的搜索引擎api
增加了索引事务处理功能, 与数据库事务处理整合;
更新时无需删除原文档, 更加简介与高效;
资源与搜索引擎之间采用映射机制;
能与Hibernate,Spring等架构进行整合;
开源web搜索引擎系统:
6. Nutch
基于Lucene构建的web搜索引擎系统,简洁;
7.YaCy
基于p2p的分布式开源web搜索引擎系统,使用java;
其核心是分布在数百台计算机上的被称为YaCy-peer的计算机程序, 基于p2p网络构成了YaCy网络, 整个网络是一个分散的架构, 所有的peer处于对等的地位, 没有统一的中心服务器, 每个peer独立地进行互联网的爬行抓取, 分析及建立索引库,并通过p2p网络进行共享;而且每个peer又都是一个独立的代理服务器, 能够对本机使用的网页进行索引, 采用多种机制保护用户的隐私, 也通过本机运行的web服务器进行查询和返回结果。
桌面搜索引擎系统
8. regian
对中文支持
跨平台
9. Zilverline
以Lucene为基础, 采用Spring为框架,中文名为银钱查打引擎;
使用Jave编写;
-------------------------------------
小结:
1. Lucene是所有搜索引擎索引分析技术一个事实上的标准, 其他开源引擎如此,商业搜索引擎应该也不能免俗;
2. 搜索引擎的主流语言是Java, 这是为什么呢?
3. 各个se的区别在于对语言的支持, 对文档的支持,以及架构上的不同,
4. 需要了解se的发展趋势。