solr和 lucene的区别

我知道 Lucene 和 Solr 是 2 个不同的Apache projects一起工作,但我不明白每个项目的目的是什么。

我知道 Lucene 和 Solr 是 2 个不同的Apache projects一起工作,但我不明白每个项目的目的是什么。

到目前为止,我所理解的是 Lucene 用于创建搜索索引,Solr 使用此索引执行搜索。

246

@ darkheir:Lucene 和 Solr 是 2 个不同的 Apache 项目,它们是一起工作的,我不明白每个项目的目的是什么。

Solr 在引擎盖下使用 Lucene。Lucene 对 Solr API 一无所知。

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

Solr 是围绕 Lucene 构建的。它不仅仅是围绕 Lucene 的 http-wrapper,而是has been known to add more arsenal to Lucene(已存档)。Solr 开箱即用。它是一个 Web 应用程序,除了 Lucene 提供的功能外,还提供相关的基础架构和更多的功能。

@ darkheir:Lucene 用于创建搜索索引,Solr 使用该索引进行搜索,我是对的还是完全不同的方法?

Lucene 不只是为 Solr 的消费创建索引。Lucene 处理所有与搜索相关的操作。任何应用程序都可以使用 Lucene 框架。

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

看看这篇文章:Lucene vs Solr

更新(6 / 18 / 14)

何时使用 Lucene?

你是一名搜索工程师

你是一个程序员

你想要完全控制 Lucene 的几乎所有内部

您的要求要求您对 Lucene 和

您愿意照顾搜索的基础设施元素,如扩展,分发等。

何时使用 Solr?

至少有一个是没有意义的。

你想要的东西,准备使用开箱即用(即使没有 Java 的知识)或

您的基础架构需求超过了搜索自定义需求。

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

有些人,属于 '必须使用 Lucene' 阵营,但仍然更喜欢 Solr 而不是普通的 Lucene,因为它易于使用。但是,他们从不限制自己最大程度地定制 Solr。

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

34

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

Solr 是一个的预配置产品 / webapp,它使用 Lucene。如果您更喜欢处理 HTTP API 而不是 Java API,Solr 适合您。Solr 还在顶部获得了一些额外的功能 (例如grouping)。

24

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

Source:Lucene-vs-solr-Lucene Tutorial
18

Solr 构建在 lucene 之上,以提供搜索平台。

搜索平台从下到上分为以下几层:

数据

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

文件建设

目的:构建用于索引的文档信息

索引和搜索

目的:建立和查询文档索引

逻辑增强

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

搜索平台服务

目的:添加搜索引擎核心的附加功能以提供服务平台。

UI 应用程序

用途:最终用户搜索界面或应用程序

solr stack

参考文章:Enterprise search

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(38)
无法运行 istio-ingressgateway 获得就绪探测失败:连接被拒绝
上一篇
是否有任何关于Office365SSO使用python的文档
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(2条)