栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

全文搜索引擎的比较-Lucene,Sphinx,Postgresql,MySQL?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

全文搜索引擎的比较-Lucene,Sphinx,Postgresql,MySQL?

很高兴看到有人对Lucene情有独钟-因为我对此一无所知。

另一方面,狮身人面像我很了解,所以让我们看看我是否可以帮上忙。

  • 结果相关性排名是默认设置。您可以根据需要设置自己的排序方式,并为特定字段赋予更高的权重。
  • 索引速度非常快,因为它直接与数据库对话。任何缓慢都会来自复杂的SQL查询和未索引的外键以及其他此类问题。我也从来没有发现搜索中有任何缓慢。
  • 我是Rails,所以我不知道使用Django实施有多容易。Sphinx源代码附带了一个Python API。
  • 搜索服务守护程序(searchd)的内存使用率非常低-您可以设置索引器进程也使用多少内存的限制。
  • 可伸缩性是我的知识较粗略的地方-但将索引文件复制到多台计算机并运行多个searchd守护程序很容易。我从其他人那里得到的总体印象是,在高负载下它确实很棒,因此无需在多台计算机上进行扩展。
  • 尽管“其他方法”可以很容易地用其他工具完成,但不支持“您是否想要”等。Sphinx确实通过使用字典来词干,因此,例如,“ driving”和“ drive”在搜索中将被视为相同。
  • 但是,Sphinx不允许对字段数据进行部分索引更新。常用的方法是维护所有最近更改的增量索引,并在每次更改后重新索引(这些新结果在一两秒钟内出现)。由于数据量少,因此可能需要几秒钟的时间。不过,您仍然需要定期重新索引主要数据集(尽管定期性如何取决于数据的波动性-每天还是每小时?)。快速的索引速度使这一切都很轻松。

我不知道这对您的情况有多适用,但是Evan
Weaver比较了一些常见的Rails搜索选项
(Sphinx,Ferret(Ruby的Lucene移植版)和Solr),并运行了一些基准测试。我猜可能会有用。

我还没有深入探讨MySQL全文搜索的深度,但是我知道它在速度方面和功能方面都无法与Sphinx,Lucene或Solr竞争。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/395300.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号