有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java环境是否更喜欢ApacheLucene而不是Solr?

使用Solr1.4有几个优点(开箱即用的分面搜索、分组、复制、http管理与luke等)

即使我在Java应用程序中嵌入了搜索功能,我也可以使用SolrJ来避免使用Solr时的HTTP权衡。有人推荐SolrJ吗

那么,你建议什么时候使用“纯Lucene”?它的性能更好还是需要更少的RAM?它是更好的单元测试吗

PS:我知道this question


共 (5) 个答案

  1. # 1 楼答案

    如果您有一个web应用程序,请使用Solr—我已经尝试将两者集成,Solr更容易。否则,如果您不需要Solr的功能(想到的最重要的功能是分面搜索),那么就使用Lucene

  2. # 2 楼答案

    如果您更关心可伸缩性而不是性能,请使用Solr;如果您更关心性能而不是可伸缩性,请使用Lucene

  3. # 3 楼答案

    如果您希望将搜索功能完全嵌入到应用程序中,并且不希望维护像Solr这样的单独进程,那么使用Lucene可能更可取。例如,桌面应用程序可能需要一些搜索功能(比如使用Lucene搜索文档的EclipseIDE)。您可能不希望此类应用程序启动像Solr这样的繁重过程

  4. # 4 楼答案

    这里有一种情况,我必须使用Lucene

    给定一组文档,找出其中最常用的术语

    在这里,我需要访问每个文档的术语向量(使用TermVectorMapper的低级API)。有了Lucene,这很容易

    另一个用例用于搜索结果的非常特殊的排序。对于exmaple,我希望搜索一个作者姓名(他写了多本书)以在前10个结果中从每个商店中搜索到一本书。在本例中,我将查找每个书店的结果,为了显示最终结果,我将从每个书店中选择一个结果。在这里,您实际上是在进行多个搜索以生成最终结果。访问lucene的低级API肯定会有所帮助

    选择Lucene的另一个原因是尽快得到新的好东西。这不再是事实,因为它们都已合并,并且将有同步发布

  5. # 5 楼答案

    我很惊讶没有人提到NRT-近实时搜索,Lucene提供,但Solr(现在)没有