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 nal 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

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

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

相关推荐

  • 如何在solr6.4版本上启用开箱即用的“techproducts”示例

    我想在 solr 6.4 中启用“techproducts”OOTB 示例。您能告诉我启用它的步骤吗?…

    2022-12-19 01:07:25
    0 60 46
  • cvt和自动挡哪个好提升驾驶体验的最佳选择

    CVT(可变转换器)是一种由传动带及传动轮组成的无级变速器,它可以在没有传动档位的情况下,根据驾驶者的驾驶习惯,自动调整传动轮之间的转速比,从而实现无级变速。自动挡是指车辆自动变速箱,它使用液力传动来实现变速,可以自动适应车辆的行驶状态,减少司机的疲劳,提高行车的舒适性。…

    2023-06-08 07:42:19
    0 89 26
  • cv一叶扁舟和清影轩阳:漫游在一叶扁舟和清影轩阳之间

    cv一叶扁舟是一款开源的计算机视觉库,用于图像处理、计算机视觉等。它提供了丰富的API,可以帮助开发者快速实现各种图像处理任务,如图像分割、目标检测、图像识别等。清影轩阳是一款开源的计算机视觉框架,用于图像处理、目标检测、分类等。它提供了丰富的API,可以帮助开发者快速实现各种图像处理任务,如图像分割、目标检测、图像识别等。…

    2023-08-05 07:06:20
    0 50 14
  • css设置滚动条宽度设置:This is a title

    CSS设置滚动条宽度的方法:使用CSS3的。-webkit-属性:…

    2023-06-06 10:53:01
    0 66 77
  • xl和xe汽车cvt:探索XL和XE汽车的CVT技术优势

    XL和XE汽车CVT是一种变速器,它使用液力变矩器代替传统的机械变速器,以达到更高的效率。它的工作原理是,当发动机输出功率时,液力变矩器就会将这些功率转换为液压能量,然后将能量传递到变速器的输出轴上,从而实现变速。…

    2023-04-09 00:41:04
    0 41 15
  • cordon bleu是什么意思:法式炸鸡卷——Cordon Bleu的经典之作

    Cordon Bleu是一种烹饪技术,其中肉片被置于奶酪和火腿之间,然后用面包屑裹上,最后煎炸或烤熟。这种技术通常用于制作鸡肉,但也可以用于制作其他类型的肉类,如牛肉或猪肉。…

    2024-01-27 15:13:30
    0 63 54
  • countif 非空:非空单元格的计数

    Countif 非空是指计算某个单元格不为空的数量。代码如下:…

    2023-04-22 15:54:15
    0 12 80
  • java double保留一位小数:How to Round a Double to One Decimal Place in

    示例示例使用类可以轻松实现java double保留一位小数的功能,具体代码如下:// 创建对象…

    2023-05-14 07:40:03
    0 65 95

发表评论

登录 后才能评论

评论列表(43条)