我试图在网站上进行良好的自然语言搜索,并试图了解Apache Solr与Xapian的优势。 Xapian似乎更容易设置。两者都提供良好的自然语言搜索吗?任何见解表示赞赏。
最佳答案
Xapian更像Lucene,这是一个与应用程序集成的库。如果您有C ++应用程序,那么Xapian可能是更好的选择。如果您有Java应用程序,Lucene几乎可以肯定是最佳选择。
如果需要搜索服务器,则将Omega(基于Xapian构建)与Solr(基于Lucene构建)进行比较。我没有使用过Omega或Xapian,但是Solr具有一些我要依赖的功能,尤其是按字段分析链。这是一个绝妙的主意,也是我在Ultraseek上工作时希望想到的一个主意。
用您自己的Java类扩展Solr分析链非常容易。我希望使用Omega / Xapian在C ++中会更加困难。
这两个引擎使用不同的基础关联模型。 Xapian是一个概率引擎,Lucene是向量空间引擎。我已经看到两个模型都调整为表现良好,因此这可能不是决定的理由。
Solr / Lucene社区很大,非常有帮助。