`
weitao1026
  • 浏览: 1052254 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Lucene 或者 solr 有什么不一样

阅读更多

首先Solr是基于Lucene做的,Lucene是一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时你仍需要关注搜索引擎系统,例如数据获取、解析、分词等方面的东西。而Solr的目标是打造一款企业级的搜索引擎系统,因此它更接近于我们认识到的搜索引擎系统,它是一个搜索引擎服务,通过各种API可以让你的应用使用搜索服务,而不需要将搜索逻辑耦合在应用中。而且Solr可以根据配置文件定义数据解析的方式,更像是一个搜索框架,它也支持主从、热换库等操作。还添加了飘红、facet等搜索引擎常见功能的支持。因而,Lucene使用上更加灵活,但是你需要自己处理搜素引擎系统架构,以及其他附加附加功能的实现。而Solr帮你做了更多,但是是一个处于高层的框架,Lucene很多新特性不能及时向上透传,所以有时候可能发现需要一个功能,Lucene是支持的,但是Solr上已经看不到相关接口。

 

Lucene更像是一个SDK。 有完整的API族以及对应的实现。你可以利用这些在自己的应用里实现高级查询(基于倒排索引技术的),Lucene对单机或者桌面应用很实用很方便。但是Lucene,需要开发者自己维护索引文件,在多机环境中备份同步索引文件很是麻烦。于是,就有了Solr。 而Solr是一个有HTTP接口的基于Lucene的查询服务器,封装了很多Lucene细节,自己的应用可以直接利用诸如 .../solr?q=abc 这样的HTTP GET/POST请求去查询,维护修改索引。给个比方就是,Lucene是给你一堆包,让你自己从底层构建一个数据库。而Solr是一个实现好的数据库程序,安装后就可以直接用了。

 

Lucene是search engine, 是java library, 提供的是java api, 可以用于任何application中(当然包括solr)

Solr是search server, 是基于Lucene上的一个http wrapper(虽然这个说法不准确,solr还提供了很多其它feature),提供的是http api

solr依赖于Lucene,目的是更方便使用。主要的competitor是elasticsearch, elasticsearch也是基于Lucene搞的

solr ,更多是和nutch 的结合使用

分享到:
评论

相关推荐

    lucene,solr的使用

    #### 三、Lucene与Solr的区别 虽然两者都基于Lucene内核,但在实际应用中存在明显差异: - **使用方式**:Lucene通常作为库直接集成到应用程序中,而Solr则作为一个独立的服务运行。 - **功能丰富程度**:Solr相...

    solr5.4.0完整包

    Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的,Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的...

    solr的学习

    通过上述内容,我们不仅了解了 Solr 的基本概念、Solr 与 Lucene 的区别,还学习了如何安装和配置 Solr,以及如何使用 Solr 进行索引的创建和搜索。Solr 作为一款企业级的搜索引擎,凭借其强大的功能和灵活性,在...

    solr使用指南1

    Solr 和 Lucene 并不是竞争对立关系,恰恰相反 Solr 依存于 Lucene。Solr 提供了大部分区别于 Lucene 的功能,例如它支持的分词功能就比 Lucene 多得多。Solr 的分词功能可以使用 smartcn 分词器,也可以使用其他的...

    es与solr的区别_solr_ES_es与solr的区别_elasticsearch_

    在大数据和搜索引擎领域,Elasticsearch (ES) 和 Apache Solr 都是广泛使用的开源技术,它们都基于 Lucene 库,提供高性能、可扩展的全文搜索和分析能力。然而,两者在设计哲学、使用场景、功能特性以及社区支持等...

    Solr开发指南.pdf

    虽然Solr不直接提供用户界面(UI)建设,但它有一个内置的管理界面,用于查看配置和监控Solr的运行状态。 【Solr与Lucene的区别】 Lucene是一个开源的全文检索引擎工具包,它专注于提供查询引擎和索引引擎的底层...

    ES和solr搜索方案对比

    而Solr适合需要高级搜索功能,对现有分布式功能有较好支持但不那么依赖于扩展性、以及文档相对完善的场景。在实际选择时,应当根据具体的技术需求、团队经验以及产品的成熟度来做出判断。由于两者都是基于Lucene构建...

    Solr全文检索.pdf

    8. ElasticSearch 和 Solr 的区别:ElasticSearch 和 Solr 都是基于 Lucene 实现的,全文检索引擎,但是 Solr 在实时建立索引的时候会产生 IO 阻塞查询性能会比 ElasticSearch 差一些,ElasticSearch 支持分布式,...

    solr自学详细教程,吐血总结

    本文将深入探讨Solr的核心概念、与Lucene的区别、安装配置过程以及如何在Tomcat中整合Solr。 **1. 全文检索服务的选择** 在大型网站中,站内搜索功能的需求日益增长,如快速响应、相关度排序和处理多种格式的数据...

    solr学习文档简介1

    Solr 和 Lucene 的区别: Lucene 是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索应用。Lucene 仅提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在...

    SOLR-7学习2020.docx

    Solr 与 Lucene 的主要区别在于它们的应用场景和层次。Lucene 是一个核心的搜索库,提供基本的搜索功能,而 Solr 则是一个面向企业的搜索服务器,集成了更多的管理和部署功能。它提供了更友好的界面,支持分布式搜索...

    solr各个热点功能详解

    3. Solr与Lucene的区别 Solr是对Lucene的封装和扩展,提供了一个完整的搜索服务器解决方案,包括企业管理、监控和性能优化。Lucene则更专注于底层的搜索算法和索引构建,而Solr则在此基础上添加了如动态字段、管理...

    solr分词器使用手册

    - **Solr和Lucene的本质区别**:虽然两者都基于Java开发且紧密相关,但Solr更侧重于提供一套完整的搜索解决方案,而Lucene则更偏向于提供核心的搜索技术框架。 - **Lucene**:是一个用于文本搜索和分析的开源Java库...

    solr开发详解

    #### Solr与Lucene的区别 - **Lucene** 是一个 Java 库,提供了构建全文搜索应用程序所需的工具。它不是一款完整的搜索应用,而是一套可以用来构建搜索应用的基础组件。 - **Solr** 是基于 Lucene 的全文检索服务器...

    solr技术总结

    #### 四、Solr与Lucene的区别 - **Lucene**:核心是一个搜索引擎库,提供索引和查询功能,但需要开发者自行实现更高层次的应用逻辑。 - **Solr**:建立在Lucene之上,提供了一套完整的搜索引擎服务,包括HTTP服务、...

    solr技术文档

    - **Solr依赖于Lucene**:Solr使用Lucene作为其底层搜索技术,但提供了更多的企业级特性和管理功能。 - **本质区别**: - **搜索服务器**:Solr作为一个独立的搜索服务器运行,而Lucene只是一组搜索库。 - **企业...

    solr搜索引擎

    Solr与Lucene的主要区别在于: 1. **独立性**:Lucene本质上是一个搜索库,而Solr则是一个独立的应用程序。 2. **应用场景**:Lucene主要用于构建搜索功能的基础架构,而Solr更侧重于满足企业级应用的需求。 3. **...

    一键安装伪分布式zk集群-solr集群脚本

    Zookeeper是一个分布式协调服务,而Solr是基于Lucene的全文搜索引擎,它们在大数据和分布式计算领域广泛应用。 Zookeeper是Apache Hadoop项目的一部分,主要用于管理分布式应用的数据,提供诸如配置管理、命名服务...

    solr学习心得和总结笔记

    三、Solr与Lucene的区别 Lucene是面向开发者的一套全文检索API,需要开发者自己处理索引和查询的实现细节。而Solr是一个完整的服务器解决方案,它在Lucene的基础上封装了许多功能,如配置管理、集群支持、分布式...

    搜索引擎开发现实文档(solr)

    Solr和Lucene的区别 Lucene是一个开放源代码的全文检索工具包,不是一个完整的全文检索应用。Lucene仅提供了完整的查询引擎和索引引擎,仍然需要关注数据获取、解析、索引查看等方面的东西。Solr的目标是打造一款...

Global site tag (gtag.js) - Google Analytics