开放原子开发者工作坊 Apache Lucene信息检索工具库(三)

Apache Lucene信息检索工具库(三)

Apache Lucene介绍Aoache Lucene是一款高性能的、可扩展的信息检索工具库,由Java语言开发、自由开源的搜索类库,基于Apache协议授权。Lucene只是一个软件类库,如果要发挥Lucene的功能,还需要开发一个调用Lucene类库的应用程序。Apache Lucene的组件Apache Lucene由以下三个组件组成Lucene Co...

Apache Lucene介绍

Aoache Lucene是一款高性能的、可扩展的信息检索工具库,由Java语言开发、自由开源的搜索类库,基于Apache协议授权。Lucene只是一个软件类库,如果要发挥Lucene的功能,还需要开发一个调用Lucene类库的应用程序。

Apache Lucene的组件

Apache Lucene由以下三个组件组成

Lucene Core

是Apache下的一款非常出色的项目,提供基于Java的索引和搜索技术,以及拼写检查,命中突出显示和高级分析/标记化功能。
Apache Lucene是一个完全用Java编写的高性能,功能齐全的文本搜索引擎库。它是一种适用于几乎所有需要全文搜索的应用程序的技术,尤其是跨平台搜索。

Solr

是一个使用Lucene Core构建的高性能搜索服务器,具有XML/HTTP/JSON/Python/Ruby API,高亮显示、分页搜索、缓存、复制及Web管理界面。
Solr是基于Apache Lucene构建的流行、快速、开源的企业搜索平台;具有高可靠性、可扩展性和容错性、可提供分布式索引、复制和复制均衡查询、自动故障转移和恢复、集中配置等。Solr为世界上许多的互联网站点的搜索和导航功能提供支持。

Pylucene

是Core项目的Python端口
PyLucene是一个用于访问Java Lucene的Python扩展。PyLucene不是Lucene的端口,而是Java Lucene的Python包装器。PyLucene将带有Lucene的Java VM嵌入到Python进程中。PyLucene Python扩展,一个名为Lucene的Python模块,是由JCC机器生成。
PyLucene使用JCC构建,JCC是一个C++代码生成器,可以通过Java的Native Invocation Interface(JNI)从Python调用Java类。JCC的来源包括在PyLucene来源中。

Apache Lucene功能特性:

可扩展的高性能索引功能

  • 每小时可以索引150G的数据
  • 增量索引和批量索引一样快
  • 索引大小约为索引文本大小的20%-30%

强大高效的搜索算法

  • 排序搜索,首先返回最佳结果
  • 许多强大的查询类型如:短语查询、通配符查询、精确查询、范围查询等
  • 字段搜索(例如标题、作者、内容)
  • 按任务字段排序
  • 合并结果的多索引搜索
  • 支持更新的同时搜索

转载于:https://blog.51cto.com/11612299/2405047

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐

  • 浏览量 114
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献12条内容