我们可以在原始Lucene中自定义嵌入Solr的Lucene吗?那么我们可以在Solr中拥有Lucene的“一切”吗?
我问这个是因为我们陷入了决定Solr vs Lucene的地步,这样想:
参数1:
“如果将来我们可能会遇到死区 我们选择Solr,而Lucene则更好 因此选择......所以我们不妨 几乎开始编写HTTP包装器 Solr的一半在我们之上 Lucene要更加安全。 “
论据2:
“Solr已经具备了我们的所有功能 想用,为什么不用它呢? 因为致力于Lucene的人是 也负责承诺 Solr,Lucene的所有功能都是 索尔也可以......“
我浏览了很多博客和帖子,上面写着:
对于需要非常自定义要求的情况 对Lucene API类的低级访问,Solr会更多 障碍而不是帮助,因为它是一个额外的间接层 -http://www.lucenetutorial.com/lucene-vs-solr.html
辩护论证2的一种方法是确认我们可以在Solr中定制底层的Lucene,就像我们只有Lucene一样。
有人能提供更好的方法来结束这个论点吗? :)
ps:我们需要使用索引和分片数TB的快速搜索...
答案 0 :(得分:5)
我们可以自定义嵌入在Solr中的Lucene吗?
是的,你可以。但要记住这一点:
Lucene和Solr提交者是全文搜索领域的一些最重要的专家。他们在这个领域有多年的经验。如果你认为你可以比他们做得更好,那么继续改变Solr以满足你的需求(它是Apache授权的,所以没有任何商业限制),如果你这样做,试着这样做,以便你以后可以贡献它回到项目,这样每个人都可以受益,项目也会向前发展。
对绝大多数Solr用户而言,库存产品绰绰有余并满足所有需求。
换句话说,在进入更改代码之前,请在邮件列表(stackoverflow或solr-user)上询问,您很可能不需要更改任何代码。
“使用索引和分片数TB的快速搜索”正是Solr的目的所在。这是一个不发明的坏情况 - 这里不使用它或任何其他类似的解决方案,如ElasticSearch,Sphinx,Xapian等。如果您认为您需要自定义或扩展任何搜索服务器考虑每个的许可证和底层代码。 Solr和ElasticSearch都是Apache授权的,因此它们没有商业限制,并且建立在着名的Lucene库之上。