9个基于Java的搜索引擎框架
1.Java全文搜索引擎框架Lucene
毫 无疑问,Lucene是目前最受欢迎的Java全文搜索框架,准确地说,它是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引 擎。Lucene为开发人员提供了相当完整的工具包,可以非常方便地实现强大的全文检索功能。下面有几款搜索引擎框架也是基于Lucene实现的。
官方网站:http://lucene.apache.org/
2.开源Java搜索引擎Nutch
Nutch 是一个开源Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。
利用Nutch,你可以做到以下这些功能:
-
每个月取几十亿网页
-
为这些网页维护一个索引
-
对索引文件进行每秒上千次的搜索
-
提供高质量的搜索结果
-
以最小的成本运作
3.分布式搜索引擎ElasticSearch
ElasticSearch就是一款基于Lucene框架的分布式搜索引擎,并且也是一款为数不多的基于JSON进行索引的搜索引擎。ElasticSearch特别适合在云计算平台上使用。
官方网站:http://www.elasticsearch.org/
4.实时分布式搜索引擎Solandra
Solandra 是一个实时的分布式搜索引擎,基于 Apache Solr 和 Apache Cassandra 构建。
其特性如下:
-
支持Solr的大多数默认特性 (search, faceting, highlights)
-
数据复制,分片,缓存及压缩这些都由Cassandra来进行
-
Multi-master (任意结点都可供读写)
-
实时性高,写操作完成即可读到
-
Easily add new SolrCores w/o restart across the cluster 轻松添加及重启结点
官方网站:https://github.com/tjake/Solandra
5.IndexTank
IndexTank是一套基于Java的索引-实时全文搜索引擎实现,IndexTank有以下几个特点:
-
索引更新实时生效
-
地理位置搜索
-
支持多种客户端语言
Ruby, Rails, Python, Java, PHP, .NET & more! -
支持灵活的排序与评分控制
-
支持自动完成
-
支持面搜索(facet search)
-
支持匹配高亮
-
支持海量数据扩展(Scalable from a personal blog to hundreds of millions of documents! )
-
支持动态数据
官方网站:https://github.com/linkedin/indextank-engine
6.搜索引擎Compass
Compass是一个强大的,事务的,高性能的对象/搜索引擎映射(OSEM:object/search engine mapping)与一个Java持久层框架.Compass包括:
-
搜索引擎抽象层(使用Lucene搜索引荐)
-
OSEM (Object/Search Engine Mapping) 支持
-
事务管理
-
类似于Google的简单关键字查询语言
-
可扩展与模块化的框架
-
简单的API
官方网站:http://www.compass-project.org/
7.Java全文搜索服务器Solr
Solr也是基于Java实现的,并且是基于Lucene实现的,Solr的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果。值得注意的是,Solr还提供一款很棒的Web界面来管理索引的数据。
官方网站:http://lucene.apache.org/solr/
8.Lucene图片搜素LIRE
LIRE是一款基于Java的图片搜索框架,其核心也是基于Lucene的,利用该索引就能够构建一个基于内容的图像检索(content- based image retrieval,CBIR)系统,来搜索相似的图像。
官方网站:http://www.Semanticmetadata.net/lire/
9.全文搜索引擎Egothor
Egothor是一个用Java编写的开源而高效的全文本搜索引擎。借助Java的跨平台特性,Egothor能应用于任何环境的应用,既可配置为单独的搜索引擎,又能用于你的应用作为全文检索之用。
官方网站:http://www.egothor.org/cms/
相关推荐
用java代码实现的元搜索引擎。对于基于独立搜索引擎的元搜索引擎的研究是实现搜索引擎优化的关键。
本资源提供了一套基于Java的Elasticsearch搜索引擎ORM框架的设计源码,包含769个文件,其中包括321个JavaScript脚本文件,182个Markdown文档,以及157个Java源代码文件。此外,还包括44个HTML页面文件,33个PNG图片...
该项目是一个Elasticsearch搜索引擎框架的ORM框架,提供索引全自动智能托管功能,与Mybatis-plus一致的API,开发者只需要会MySQL语法即可完成对Es的相关操作,适合用于个人学习和实践Elasticsearch的开发技术。
[硕士论文]_基于MapReduce的分布式智能搜索引擎框架研究.pdf [硕士论文]_基于Nutch的垂直搜索引擎的分析与实现.pdf 一个例子学懂搜索引擎(lucene).doc 中文搜索引擎技术揭密.doc 九大开源搜索引擎介绍.txt 基于Nutch...
比如在类Index中的getDictionary方法中,需要返回所有保存的Term,可以直接调用map结构的keySet方法返回一个Set对象,包含了所有的键,也即所有的Term,类似的还有由于实现了子类的compareTo以及equal方法,对于子类...
2.SearchProject文件夹为搜索引擎代码的工程,Java代码 3.HtmlUnit文件夹为分词处理主程序,Java代码 4.TextClassification文件夹为网页内容分类工 程,采用机器学习方法 5.news_model为网页文本分类的模型 6.data....
电影搜索引擎,基于lucene的电影搜索引擎,主要数据来源为百度新闻,豆瓣电影,百度百科,新浪微博 本文研究的主要内容是:面向电影搜索引擎的功能设计和技术实现。搜索引擎功能设计主要包括,信息资源的集成,查询...
无论是热部署或者是热加载、都是基于Java类加载器来完成的。 SpringBoot实现热部署 1、在plugin标签中加入插件 Shiro 简介 shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户...
系统开发环境:Eclipse 开发语言:Java ...说明:一个基于Solr的搜索引擎,由Spring+SpringMVC框架搭建,通过Solr服务器对MySql数据库表进行索引和检索,数据库中数据爬取自于上述三个网站的部分内容,有待优化。
搜索引擎的索引和搜索系统是利用全文搜索引擎框架(ElasticSearch)构建,由IK分词器实现语句分词地功能,ElasticSearch是一个企业分布式、高扩展、高实时的搜索与数据技术分析处理引擎,可以用于搜索各种文当,它...
基于SpringBoot+mybatis搜索引擎优化的健康问答系统系统java源码+项目说明.7z 采用spring boot + mybatis 框架构建 前端模型采用 theleaf 模板 爬虫模块采用 webmagic 框架 搜索引擎模块采用 luence 框架 数据源采用...
基于 SSM 框架的 Java 电商项目。它主要实现了以下功能: 商品管理:用户可以通过图形界面对商品进行增删改查,以及上传图片和富文本编辑。 商品搜索:用户可以通过 solr 搜索引擎对商品进行关键字搜索,以及按照...
该毕业论文对搜索引擎技术及多种java开发中常用的中间件展开了研究。设计了一种基于ElasticSearch的博客管理系统。本文首先概述了博客系统的研究背景,接着介绍了博客系统的现状和发展趋势。随后,本文详细介绍了本...
j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
注:随光盘附带的mirror.rar文件是使用Heritrix从pconline网上抓取的手机信息页面(以网站镜象格式存储),在本书最后搜索引擎完整实例中需要使用到。由于光盘容量有限,笔者删除了原始镜像目录中一部分的网页,可能...
j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...
j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF...