首页 文章

solr和lucene之间的区别

提问于
浏览
138

我知道Lucene和Solr是两个不同的Apache projects,它们是一起工作的,但我不明白每个项目的目标是什么 .

据我所知,直到现在,Lucene用于创建搜索索引,Solr使用此索引执行搜索 . 我是对的还是这是一种完全不同的方法?

6 回答

  • 201

    你可以在这里找到关于lucence和solar的目的的一个很好的比较:

    http://www.lucenetutorial.com/lucene-vs-solr.html

    TLDR:Lucence只是发动机,Solar是你可以驾驶的车(配备rest-api等)

  • 9

    @darkheir: Lucene and Solr are 2 differents Apache projects that are made to work together, I don't understand what is the aim of each project.

    1)Solr在引擎盖下使用Lucene . Lucene对Solr API一无所知 .

    2)Lucene是一个功能强大的搜索引擎框架,可以让我们为我们的应用程序添加搜索功能 . 它公开了一个易于使用的API,同时隐藏了所有与搜索相关的复杂操作 . 任何应用程序都可以使用此库,而不仅仅是Solr .

    3)Solr围绕Lucene建造 . 它不仅仅是Lucene的http包装器,而是has been known to add more arsenal to Lucene . Solr即用即用 . 它是一个Web应用程序,除Lucene提供的功能外,还提供相关的基础结构和更多功能 .

    @darkheir: Lucene is used to create a search index and Solr use this index to perform searches. Am I right or is this a totally different approach?

    4) Lucene doesn't just create the Index for the consumption by Solr . Lucene处理所有与搜索相关的操作 . 任何应用程序都可以使用Lucene框架 .

    例如Solr,Elastic Search,LinkedIn(是的,引擎盖下)等等 .

    看看这篇文章:Lucene vs Solr

    UPDATE (6/18/14)

    When to use Lucene?

    • 您是搜索工程师AND

    • 您是程序员AND

    • 您希望完全控制Lucene AND的几乎所有内部

    • 您的要求要求您对Lucene AND进行各种令人讨厌的定制

    • 您愿意照顾搜索的基础设施元素,例如缩放,分发等 .

    When to use Solr?

    • 上述至少有一项没有意义 . 要么

    • 你想要一些现成的东西(即使不懂Java)OR

    • 您的基础架构要求超过了搜索自定义要求 .

    NOTE :我不是说Solr很难定制 . Solr非常灵活,并提供了许多可插入的API点,允许您输入代码 .

    有人,不得不使用Lucene ' camp, but still prefer Solr to plain Lucene as it'易于使用 . 但是,他们从不限制自己最大限度地定制Solr .

    顺便说一句,我看到Solr(4.x)上有比Lucene(4.x)更多的资源 .

  • 0

    Lucene是一个低级Java库(带有.NET的端口等),它实现索引,分析,搜索等 .

    Solr是一个使用Lucene的独立预配置产品/ webapp . 如果您更喜欢使用HTTP API而不是Java API,Solr适合您 . Solr还有一些额外的功能(例如grouping) .

  • 19

    概念化Solr和Lucene之间关系的一种简单方法是汽车及其引擎 . 你不能驾驶引擎,但你可以驾驶汽车 . 同样,Lucene是一个程序库,你不能原样使用,而Solr是一个完整的应用程序,你可以使用开箱即用 .

    资料来源:Lucene-vs-solr - Lucene Tutorial

  • 8

    Solr is built on top of lucene to provide a search platform.

    从下到上搜索以下层中的平台:

    • 数据

    • 目的:表示各种数据类型和来源

    • 文件编制

    • 目的:构建索引编制的文档信息

    • 索引和搜索

    • 目的:构建和查询文档索引

    • 逻辑增强

    • 目的:用于处理搜索查询和结果的附加逻辑

    • 搜索平台服务

    • 目的:添加搜索引擎核心的其他功能以提供服务平台 .

    • UI应用程序

    • 目的:最终用户搜索界面或应用程序

    solr stack

    参考文章:Enterprise search

  • 26

    SOLR是Lucene索引的 wrapper .

    这很容易理解:SOLR是 car 而Lucene是 engine . 您只需知道如何驾驶汽车(SOLR)并且还需要了解发动机(Lucene)的一些事情,以防您的汽车发动机出现任何问题 .

    安全驾驶:)

相关问题