07 2012 档案
摘要:在上面的篇幅中我们已经了解到了lucene,及lucene到底是做什么的,什么情况下才能够使用lucene,下面我们就结合一个例子来详细说明一下lucene的API,看看lucene是如何工作的。lucene的下载其实这个很简单了,直接到baidu或者google上搜索一下,一般情况下第一个就是我们要的链接。下边给出lucene下载的链接:http://lucene.apache.org/ 图:lucene下载主页面配置环境我们下面要做很多的测试,会建立很多的测试工程,如果一个一个手动的添加jar包会非常的麻烦,那么我们就需要配置eclipse环境。打开eclip...
阅读全文
摘要:信息检索的概念信息检索(Information Retrieval)是指信息按一定的方式组织起来,并根据信息用户的需要找出有关的信息的过程和技术。狭义的信息检索就是信息检索过程的后半部分,即从 信息集合中找出所需要的信息的过程,也就是我们常说的信息查寻(Information Search 或Information Seek)。我们在下边研究的lucene就是对信息做全文检索的一种手段,或者说是一项比较流行的技术,跟google、baidu等专业的搜索引擎比起来会有一定的差距,但是对于普通的企业级应用已经是足够了。什么是luceneLucene是apache软件基金会4 jakarta项目组的
阅读全文
摘要:做一个网络爬虫的程序吧,根据客户的需求,要求把相关的内容爬取到本地最终选择的是apache nutch,到目前为止最新的版本是1.31. Nutch是什么?Nutch是一个开源的网页抓取工具,主要用于收集网页数据,然后对其进行分析,建立索引,以提供相应的接口来对其网页数据进行查询的一套工具。其底层使用了Hadoop来做分布式计算与存储,索引使用了Solr分布式索引框架来做,Solr是一个开源的全文索引框架,从Nutch 1.3开始,其集成了这个索引架构2. 在哪里要可以下载到最新的Nutch?在下面地址中可以下载到最新的Nutch 1.3二进制包和源代码http://mirror.bjtu.e
阅读全文
摘要:什么是nosqlNoSQL(NoSQL = Not Only SQL),意思是不仅仅是SQL的扩展,一般指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,传统的电信行业动辍就千万甚至上亿的数据,甚至有客户提出需要存储相关的日志数据50年以上,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。关系型数据库难以克服的问题:不能很好处理对数据库高并发读写的需求不能很好处理对海量数据的高效率存储和访问的需求不能很好处理对数据库的高可扩展性和高可用
阅读全文
摘要:在做web开发的时候难免遇到一个问题,那就是,选择什么样的框架。下面把前端的框架简单的列一下。1、flexApache基金会今天发布了Flex 4.8版本,这是Adobe将Flex捐献给Apache基金会后发布的第一个版本。需要注意的是,Flex目前还在孵化阶段,还不是Apache的正式项目,Flex 4.8也不是一个正式的Apache版本。 Apache称,该版本标志着Flex新时代的开始,Flex的未来将由社区来驱动,而不是由一个公司驱动。开发者可以通过贡献代码,来帮助改进Flex,如修复bug、增加功能等。从Macromedia卖给Adobe,然后又捐给apache,不知道搞什么名堂。不
阅读全文
摘要:1、MongoDB介绍MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案。当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上。MongoDB的并发读写效率不是特别出色,根据官方提供的性能测试表明,大约每秒可以处理0.5万~1.5万次读写请求。MongoDB还自带了一个出色的分布式文件系统GridFS,可以支持海量的数据存储。MongoDB也有一个Ruby的项目MongoMapper,是模仿Merb的DataMapper编写的MongoDB接口,使用起来非常简单,
阅读全文
摘要:在上面已经配置了sts及virgo的环境,并且能够成功的运行virgo服务器了。接下来我们来用sts建几个工程。我们模拟的是一个注册的例子,在我们实际的案例中,有的时候会把数据写入到数据库,写入到文件或者写入到内存中,已方便不同的操作。也许这个例子不能完全说明问题,但是对于说明如何通过sts来建立工程来说已经足够了。我们会建立4个Bundle,一个是通过页面进行注册的Bundle,一个是录入接口的Bundle,一个是将文件写入到数据库的Bundle(当然只是简单的实现并没有真正写入数据库),还有一个是写入文件的Bundle。接口工程创建新建vigro插件工程输入工程名,下一步,下一步直到完成,
阅读全文
摘要:Spring-DM是什么Spring-DM 指的是Spring Dynamic Modules.dm Server 是一个完全模块化部署的,基于OSGi的Java服务器,为运行企业Java应用和Spring应用提供更加强大的灵活性和可靠性。SpringSource应用平台是构建在Spring、OSGi和Apache Tomcat之上的应用服务器,这个新的应用服务器摒弃了原有的Java EE服务器标准,自然而然地将Spring编程模型展现其中,随之而来的还有一套基于OSGi内核构建的全新部署和打包系统。现在dm Server已经由spring社区贡献给eclipse组织,更名为Virgo 2.1
阅读全文
摘要:什么是mongodbMongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和 非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。mongodb的几大优势MongoDB是面向文档的数据库,不是关系型数据库。1、MongoDB有..
阅读全文
摘要:saas的由来saas现在可能还是一个比较新的概念,或者说还不是那么普及,那么现在我们就来看一下saas的由来并且来看一下saas是不是以后软件发展的趋势。从做项目说起 软件公司从做项目开始,针对某个行业会针对性的做不同的项目,项目中包含的内容可能相当,也可能不相同,以XX公司为例,假设XX公司做办公自动化业务。这也就是传统的项目型结构,在项目型结构中,如下图:在图中可以看到,每个项目都会有不同的需求,其中很多是相同的,很多是不同的。比如功能1,功能3和功能5,这些是相同的。当这样的项目非常多的时候,我们就会从中发现很多相同的部分,于是就有了产品。软件产品还是上面的公司,从项目到产品是一个封装
阅读全文
摘要:Apache FelixFelix是一个OSGi版本4规范的Apache实现。OSGi是一个基于Java的服务平台规范,其目标是被需要长时间运行、动态更新、对运行环境破坏最小化的系统所使用。有许多公司(包括Eclipse IDE,它是第一个采用OSGi技术的重要项目)已经使用OSGi去创建其微内核和插件架构,以允许在运行时刻获得好的模块化和动态组装特性。几个其他项目如Apache Directory、Geronimo、Jackrabbit、Spring以及JOnAS也都正在转向采用OSGi。目前Felix已经实现了OSGI R4规范中的大部分内容。felix的官方地址为http://felix
阅读全文
摘要:开发web的两种方式基于OSGI开发B/S应用有两种方式:1)在OSGI框架中嵌入Http服务器2)在Servlet容器中嵌入OSGI框架Http服务器嵌入到OSGI框架环境配置配置运行环境,选择Run->Run Configuration,new一个环境保留以下几个Bundle,包括javax.servlet、org.apache.commons.logging、org.eclipse.equinox.http.jetty、org.eclipse.equinox.http.servlet、org.eclipse.osgi、org.eclipse.osgi.services、org.mo
阅读全文
摘要:模块化的规范在Java中现在是没有一个模块化的概念的,或者说没有一个事实上的标准。就是如何组成一个模块,然后哪些模块是给内部使用,哪些模块是给外部使用的。OSGI就可以解决上面的问题,应用程序可以像搭积木一样完成搭建,例如对于一个正在运行的系统,压根日志服务,但目前系统中没有提供日志服务的模块,那么可以直接开发出相应的日志服务模块,然后动态的加载到系统中,不需要重新启动服务,只需要动态的注册就可以,这样日志服务就可以使用了。这是一个使用osgi的开源系统ToyBricks(积木)(以下简称ToyBricks)是基于面向积木方法论构建的、面向Java开发(尤其是RIA应用)的开源开发平台, 旨在
阅读全文
摘要:什么是OSGIOSGi(Open Service Gateway Initiative)有双重含义。一方面它指OSGi Alliance组织;另一方面指该组织制定的一个基于Java语言的服务(业务)规范——OSGi服务平台(Service Platform)。OSGi Alliance是一个由Sun Microsystems、IBM、爱立信等于1999年3月成立的开放的标准化组织, 最初名为Connected Alliance。该组织及其标准原本主要目的在于使服务提供商通过住宅网关,为各种家庭智能设备提供各种服务。目前该平台逐渐成为一个为室内、交通工具、移动电话和其他环境下的所有类型的网络设备
阅读全文
摘要:在使用HBase一定要明白HBase的适用场合,因为HBase并非适用于每种情况。首先,要确认有足够多的数据存入HBase。如 果有几亿或者几十亿条记录要存入HBase,那么HBase就是一个正确的选择;否则如果你仅有几百万条甚至更少的数据,那么HBase当然不是正确的选 择,这种情况下应当选择传统的关系型数据库,因为如果这么少的数据存入HBase,就会导致数据堆积在一两个节点上,而HBase集群内部的其他节点都处 于空闲状态。其次,要确认即便不使用传统关系型数据库提供的额外功能(比如数据库的列有强类型限制,secondary index,transaction,SQL等高级查询语言)系统也能
阅读全文