搜索引擎 - Lucene或Solr

Vik*_*ram 52 asp.net solr lucene.net

我们需要在我们的产品目录管理软件中集成搜索引擎.该目录预计将超过4-5百万.关系数据的记录分布在几个表中.我们的开发平台是Asp.Net 3.5,我们已经对Lucene做了一些初步的工作,发现它很好.然而,我们刚刚了解了Solr并且正在寻找一些实用的技巧来比较Lucene和Solr的实现,时间表,定期维护,性能,功能.任何指导或指示都会非常有用.谢谢.

小智 41

Lucene的:

Apache Lucene是一个完全用Java编写的高性能,功能齐全的文本搜索引擎库.它是一种适用于几乎所有需要全文搜索的应用程序的技术

Solr的:

Solr是一个基于Lucene Java搜索库的开源企业搜索服务器,具有XML/HTTP和JSON API,突出显示,分面搜索,缓存,复制,Web管理界面......

从本质上讲,Lucene嵌入在Solr中,纯粹是一个全文搜索库,其目的是嵌入到项目中,为其提供全文搜索功能.Solr具有更多功能和管理功能,允许搜索结构化数据,无需编写任何自定义代码,从CSV文件加载数据,容忍解析用户输入,分面搜索,突出显示结果中的匹配文本,以及检索各种搜索结果格式(XML,JSON,...).检查Solr功能页面,查看是否有任何功能与您的项目相关.


Eri*_*ugh 18

我不得不同意安德鲁克莱格.我想当许多Java Developer类型看Lucene vs Solr时,Lucene看起来更友好,因为它只是一个库(POJJ:Plain Old Java Jar!),就像任何其他库一样,它看起来很容易嵌入,而不是复杂性将Solr作为一个独立的进程,通过复杂的HTTP进行通信.

但是,我认为对于几乎所有的搜索用例,Solr都是正确的方法.因为搜索中的大多数复杂性不是直接初始集成,而是在调整搜索的模糊区域,扩展以满足需求,并维护从开发人员中心世界跨越到系统世界的索引.Solr很好地处理了所有这些需求.


And*_*egg 6

就像dcruz说的那样,Solr无论如何都使用了Lucene,因此它不是一个有效的比较.

Lucene是用于构建搜索应用程序的工具包,Solr是一个使用Lucene构建的搜索应用程序.

IMO你疯了不要使用Solr,因为它为你提供了许多你必须自己编写的"管道" - 就像一个可配置的数据导入处理程序来从你的RDBMS或XML存储库中提取数据.

此外,它还为您提供了一个Web管理界面和其他铃声和口哨声.