Java搜索使用引擎

Wesley13
• 阅读 617

###1、Java 全文搜索引擎框架 Lucene 毫无疑问,Lucene是目前最受欢迎的Java全文搜索框架,准确地说,它是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene为开发人员提供了相当完整的工具包,可以非常方便地实现强大的全文检索功能。下面有几款搜索引擎框架也是基于Lucene实现的。

官方网站:http://lucene.apache.org/

###2、开源Java搜索引擎Nutch Nutch 是一个开源Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

利用Nutch,你可以做到以下这些功能:

每个月取几十亿网页 为这些网页维护一个索引 对索引文件进行每秒上千次的搜索 提供高质量的搜索结果 以最小的成本运作 官方网站:http://nutch.apache.org/

###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能应用于任何环境的应用,既可配置为单独的搜索引擎,又能用于你的应用作为全文检索之用。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
1. 初识 Lucene
在学习Lucene之前呢,我们当然首先要了解下什么是Lucene.0x01 什么是Lucene?Lucene是一套用于全文检索和搜索的开放源代码程序库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程序接口,能够做全文索引和搜索,在Java开发环境里Lucene是一个成熟
Stella981 Stella981
3年前
ElasticSearch(增put、删delete、改(本质是先删除后添加)post、查get、post)
一、ElasticSearch简介1.1什么是ElasticSearchElasticSearch,简称es,es是一个开源的高扩展的分布式全文搜索引擎,可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理pb级别的数据。es也使用java开发并使用Lucene作为其核心来实现所有索
Stella981 Stella981
3年前
071. ElasticSearch 应用场景及核心概念
1\.ES使用场景给网站/APP添加搜索功能。存储、分析数据。管理、交互、分析空间信息,将ES用于GIS。2\.ES简介Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful接口全文检索引擎。Elast
Stella981 Stella981
3年前
ElasticSearch学习汇总
什么是ElasticSearch?ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch能够做到实时搜索并且稳定,
Stella981 Stella981
3年前
Lucene5.5学习(1)
认识Lucene下面是百科对Lucene的描述:Lucene是apache软件基金会4jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易
Stella981 Stella981
3年前
Hadoop主要生态系统简介
Hadoop的起源DougCutting是Hadoop之父,起初他开创了一个开源软件Lucene(用Java语言编写,提供了全文检索引擎的架构,与Google类似),Lucene后来面临与Google同样的错误。于是,DougCutting学习并模仿Google解决这些问题的办法,产生了一个Lucene的微缩版Nutch。后
Stella981 Stella981
3年前
Net Core使用Lucene.Net和盘古分词器 实现全文检索
Lucene.netLucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,是一个高性能、可伸缩的文本搜索引擎库。它的功能就是负责将文本数据按照某种分词算法进行切词,分词后的结果存储在索引库中,从索引库检索数据的
陈占占 陈占占
2年前
Django 配置搜索引擎 haystack 与 搜索页面无法返回数据问题
Django配置搜索引擎haystack与搜索页面无法返回数据问题1、Django安装haystackwhooshjiebahaystack是django的开源搜索框架,该框架支持Solr,Elasticsearch,Whoosh,搜索引擎量。Whoosh是一个搜索引擎使用,这是一个由纯Python实现的全文搜索引擎,没有二进制文