solr和lucene之间的区别
我知道Lucene和Solr是两个不同的Apache项目,它们是为了一起工作而制作的,但我不明白每个项目的目的是什么。
到目前为止,我所理解的是,Lucene用于创建搜索索引,而Solr使用此索引来执行搜索。我是对的,还是这是一种完全不同的方法?
我知道Lucene和Solr是两个不同的Apache项目,它们是为了一起工作而制作的,但我不明白每个项目的目的是什么。
到目前为止,我所理解的是,Lucene用于创建搜索索引,而Solr使用此索引来执行搜索。我是对的,还是这是一种完全不同的方法?
@darkheir:Lucene和Solr是两个不同的Apache项目,它们是为了一起工作而制作的,我不明白每个项目的目的是什么。
Solr在引擎盖下使用了Lucene。Lucene对Solr API一无所知。
Lucene是一个功能强大的搜索引擎框架,它允许我们为应用程序添加搜索功能。它公开了一个易于使用的API,同时隐藏了所有与搜索相关的复杂操作。任何应用程序都可以使用此库,而不仅仅是Solr。
Solr是围绕Lucene建造的。它不仅仅是一个围绕Lucene的http包装器,而且众所周知,它为Lucene增加了更多的武器库(存档)。Solr是开箱即用的。它是一个Web应用程序,除了Lucene提供的功能外,它还提供相关的基础架构和更多功能。
@darkheir:Lucene用于创建搜索索引,Solr使用此索引执行搜索。我是对的,还是这是一种完全不同的方法?
Lucene不只是为Solr的消费创建索引。Lucene 处理所有与搜索相关的操作。任何应用程序都可以使用 Lucene 框架。
例如Solr,Elastic Search,LinkedIn(是的,在引擎盖下)等。
看看这篇文章: 卢塞恩 vs 索尔
更新 (6/18/14)
什么时候使用卢塞恩?
什么时候使用Solr?
注意:我并不是说Solr很难定制。Solr非常灵活,并提供了许多可插入的API点,允许您投入代码。
有些人属于“必须使用Lucene”的阵营,但仍然更喜欢Solr而不是普通的Lucene,因为它易于使用。但是,他们从不限制自己最大限度地自定义Solr。
顺便说一句,我看到Solr(4.x)上的资源比Lucene(4.x)更多。
Lucene是一个低级Java库(带有.NET等端口),它实现了索引,分析,搜索等。
Solr是一个独立的预配置产品/web应用程序,它使用Lucene。如果您更喜欢处理HTTP API而不是Java API,Solr适合您。Solr在顶部也有一些额外的功能(例如分组)。