有益于应用开发的开源项目介绍

如果你觉得某些开源项目有特点,或许对爱好者有帮助,欢迎并感谢你在这里与大家分享

一、开源项目名称
Xapian

二、简介
Xapian是一个开源的搜索引擎库,用C++编写的,可以从各种编程语言(如Perl,Python,PHP,Java,Tcl,C#,Ruby,Lua和Erlang等)调用该库。
Xapian具有高度的适应能力,开发者利用它能够方便在应用中增加高级的索引和搜索能力。它支持概率性的信息获取模型和丰富的布尔查询操作符。

三、网址
xapian.org

最近听说Xapian这个东东,一时间没有查是什么技术,LZ就贴出来,真是好人啊~~~

:6_135:
我来报道多关照

搜索引擎主要涉及两类操作操作:建立索引和查询。下面介绍xapian下这两种操作的大概流程:
一、建立索引流程
1、使用Xapian::WritableDatabase创建或以读写方式打开数据库。
2、创建Document对象。
1)通过两种方法向Docment对象中写入数据:
a)使用.set_data(string)设置负载数据,每个文档有且只能有一个负载数据
b)使用.add_value(slot, string)设置slot指定的数值,如果slot中已存在数值,将进行替换。每个文档可以有多个数值。
2)建立索引(两种方法)
a)Document.add_term(word, pos)。
b)构造Xapian::TermGenerator对象,通过set_document()关联文档对象,然后通过index_text方法建立文本索引。(用空格分开的字符串)。
3、通过DB.add_document(doc)方法将文档与数据库关联。
4、DB.commit()或DB.flush()。

二、检索流程
1、通过Xapian::Database打开数据库。
2、构造Xapian::Enquire,它是检索的接口。
3、使用Xapian::QueryParser解析Query字符串,或使用Xapian::Query构造检索条件。
4、调用enquire.set_query()检索。
5、使用enquire.get_mset(start,len)获取查询结果集MSet。
6、遍历MSet。

正需要,谢谢分享!

一、开源项目名称
OCS(Open Collaboration Services)

二、简介
OCS是一个开源的、不依赖于厂家的基于REST(Representational state transfer)的接口,用于在桌面和移动应用中集成网页通讯和网页服务,用于实现社交桌面功能。

三、网址
http://www.open-collaboration-services.org/

一、开源项目名称
Ekiga

二、简介
正式名字是GnomeMeeting,该软件支持基于internet的电话、视频会议和即时通讯。
它支持HD声音质量,DVD视频大小和质量。它使用两个主要的电话标准:SIP和H.323。

三、网址
http://www.ekiga.org/

一、开源项目名称
FAI,是Fully Automatic Installation

二、简介
它能在物理机、虚拟机以及chroot环境上使用,不需要人工干预,就可自动安装、定制和管理Linux系统,以及进行软件配置。

三、网址
http://fai-project.org/