在这个信息繁杂的互联网时代,我们已经学会了如何通过搜索引擎寻找目标信息,比如你可能会在百度上搜索圣诞节如何让女朋友开心。那么如何使用户在自己开发的网站系统中能搜索一些重要信息,并且以结构化的形式展现给用户,下面分享给大家的9个Java搜索引擎框架也许对你有帮助。
1、Java全文搜索引擎框架Lucene
Lucene是目前最受欢迎的Java全文搜索引擎框架,准确地说,它是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene为开发人员提供完整的工具包,可很方便地实现全文检索功能。后面有几个搜索引擎框架是基于Lucene实现的。
官方网站:
2、开源Java搜索引擎Nutch
Nutch是一个开源Java实现的搜索引擎,提供运行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬虫。
利用Nutch,可以做出以下功能:
每月取几十亿网页
为这些网页维护一个索引
对索引文件进行上千次/秒的搜索
提供高质量的搜索结果
以最小成本运作
官方网站:
3、分布式搜索引擎ElasticSearch
ElasticSearch是一款基于Lucene框架的分布式搜索引擎,并且也是一款为数不多的基于JSON进行索引的搜索引擎。ElasticSearch特别适合在云计算平台上使用。
官方网站:
4、实时分布式搜索引擎Solandra
Solandra是一个实时分布式搜索引擎,基于Apache Solr和Apache Cassandra构建。 其特性如下:
支持Solr的大多数默认特性(搜索, faceting, highlights);
数据复制,分片,缓存及压缩都由Cassandra来进行;
Multi-master (任意结点都可供读写);
实时性高,写操作完成即可读到。 添加新的SolrCores很方便,不需要重启整个集群。
官方网站:
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/
当前文章:Search » 9个基于Java的搜索引擎框架