php - 垂直类的问答库搜索开发,用哪个引擎好
黄舟
黄舟 2017-04-10 17:11:16
[PHP讨论组]

想建立个垂直类的问答库
用php+mysql(后期可能会用上redis或者mogodb)
牵涉到一些专业的词库,并且后期希望能够根据用户的语义来调整搜索结果

目前看了下
主流的 迅搜,sphonix,elasticsearch,solr
时间有限,用哪个开发成本比较低?
用过的伙伴 给个建议 谢谢·~

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
PHP中文网

四个都用过,开发成本基本一致,因为这四个都有主流语言的sdk可以直接用,要说成本就是这四个软件的配置成本,但都比较简单。
说下大致区别
xunsearch自带中文分词使用的是scws,分词效率准确率都不错,而且带词性。索引建立速度还可以。查询效率高。但是由于它基于xapian,缺少一些语法糖。且我们在重建索引时出现过丢失索引的情况。当时的数据规模大概在千万级别,mysql 中数据大小为35G左右。不知道是不是因为是早期版本的原因。
sphinx建立索引相对较慢,没有自带中文分词,但是可参考coreseek,也可自己配分词器。支持很多主流分词器。查询性能较弱,且分布式支持不太完美。功能有部分缺失,如xunsearch中的搜索折叠。但优点是容易上手,相对稳定。
solr/es 这两个整体上差不多,但国内目前solr资料要比es多,中文分词支持的也好,常见的如ik,jieba等分词都有支持。效率这两者差不多,查询和建立都很快。都有很好的分布式方案。个人感觉es的分布式要好一点,至少配置上比solr简单。solr5之后架构也做了调整,但目前国内很多资料还是基于solr4的。
其实索引更换和迁移的成本并不高,建议数据规模不大的时候可以先用sphinx,简单稳定。当出现性能瓶颈时,不建议折腾sphinx的分布式,而直接换用solr或es就行。xunsearch个人感觉还属于玩具级别,当然我这种结论是基于早期版本得出的,现在的情况不是很了解。

PHP中文网

sphinx简单 elasticsearch/solr 功能多, 对于搜索引擎来说重要的是一个相对准确的词库,用什么搜索都差不多

PHPz

推荐sphinx,操作简单

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号