本文列出9个基于Java的搜索引擎框架:
Lucene是目前最受欢迎的Java全文搜索框架。Lucene是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。
1. Java 全文搜索引擎框架——Lucene
Lucene是一个高性能、可伸缩的信息搜索(IR)库,它可以为你的应用程序添加索引和搜索能力。
2. 开源Java搜索引擎——Nutch
Nutch 是一个开源Java 实现的搜索引擎,它提供了我们运行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬虫。
3. 分布式搜索引擎——ElasticSearch
ElasticSearch是一个基于Lucene构建的开源、分布式、RESTful搜索引擎,设计用于云计算中,能够达到实时搜索。
4. 实时分布式搜索引擎——Solandra
Solandra是一个实时分布式搜索引擎,基于Apache Solr和Apache Cassandra构建。这意味着Solr与Cassandra将在单个JVM中同时运行,文档采用Cassandra的数据模型进行存储和分发。
5. 索引-实时全文搜索引擎——IndexTank
IndexTank提供即时、托管搜索引擎服务,准许开发者迅速的开发基于搜索的应用,而无需担心托管他们自己的搜索软件。
6. 搜索引擎——Compass
Compass是一个强大的、事务的、高性能的,对象/搜索引擎映射(OSEM:object/search engine mapping)与一个Java持久层框架。
7. Java全文搜索服务器——Solr
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-Service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
8. Lucene图片搜索——LIRE
LIRE是一款基于Java的图片搜索框架,其核心也是基于Lucene的,利用该索引就能够构建一个基于内容的图像检索(content- based image retrieval,CBIR)系统,来搜索相似的图像。
9. 全文本搜索引擎——Egothor
Egothor是一个用Java编写的开源而高效的全文本搜索引擎。借助Java的跨平台特性,Egothor能应用于任何环境的应用,既可配置为单独的搜索引擎,又能用于你的应用作为全文检索之用。