我知道Lucene和Solr是两个不同的Apache projects,它们是一起工作的,但我不明白每个项目的目标是什么 .
据我所知,直到现在,Lucene用于创建搜索索引,Solr使用此索引执行搜索 . 我是对的还是这是一种完全不同的方法?
你可以在这里找到关于lucence和solar的目的的一个很好的比较:
http://www.lucenetutorial.com/lucene-vs-solr.html
TLDR:Lucence只是发动机,Solar是你可以驾驶的车(配备rest-api等)
@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)更多的资源 .
Lucene是一个低级Java库(带有.NET的端口等),它实现索引,分析,搜索等 .
Solr是一个使用Lucene的独立预配置产品/ webapp . 如果您更喜欢使用HTTP API而不是Java API,Solr适合您 . Solr还有一些额外的功能(例如grouping) .
概念化Solr和Lucene之间关系的一种简单方法是汽车及其引擎 . 你不能驾驶引擎,但你可以驾驶汽车 . 同样,Lucene是一个程序库,你不能原样使用,而Solr是一个完整的应用程序,你可以使用开箱即用 .
资料来源:Lucene-vs-solr - Lucene Tutorial
Solr is built on top of lucene to provide a search platform.
从下到上搜索以下层中的平台:
数据
目的:表示各种数据类型和来源
文件编制
目的:构建索引编制的文档信息
索引和搜索
目的:构建和查询文档索引
逻辑增强
目的:用于处理搜索查询和结果的附加逻辑
搜索平台服务
目的:添加搜索引擎核心的其他功能以提供服务平台 .
UI应用程序
目的:最终用户搜索界面或应用程序
参考文章:Enterprise search
SOLR是Lucene索引的 wrapper .
这很容易理解:SOLR是 car 而Lucene是 engine . 您只需知道如何驾驶汽车(SOLR)并且还需要了解发动机(Lucene)的一些事情,以防您的汽车发动机出现任何问题 .
安全驾驶:)
6 回答
你可以在这里找到关于lucence和solar的目的的一个很好的比较:
http://www.lucenetutorial.com/lucene-vs-solr.html
TLDR:Lucence只是发动机,Solar是你可以驾驶的车(配备rest-api等)
@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)更多的资源 .
Lucene是一个低级Java库(带有.NET的端口等),它实现索引,分析,搜索等 .
Solr是一个使用Lucene的独立预配置产品/ webapp . 如果您更喜欢使用HTTP API而不是Java API,Solr适合您 . Solr还有一些额外的功能(例如grouping) .
资料来源:Lucene-vs-solr - Lucene Tutorial
Solr is built on top of lucene to provide a search platform.
从下到上搜索以下层中的平台:
数据
目的:表示各种数据类型和来源
文件编制
目的:构建索引编制的文档信息
索引和搜索
目的:构建和查询文档索引
逻辑增强
目的:用于处理搜索查询和结果的附加逻辑
搜索平台服务
目的:添加搜索引擎核心的其他功能以提供服务平台 .
UI应用程序
目的:最终用户搜索界面或应用程序
参考文章:Enterprise search
SOLR是Lucene索引的 wrapper .
这很容易理解:SOLR是 car 而Lucene是 engine . 您只需知道如何驾驶汽车(SOLR)并且还需要了解发动机(Lucene)的一些事情,以防您的汽车发动机出现任何问题 .
安全驾驶:)