首頁 >後端開發 >php教程 >垂直类的问答库搜索开发,用哪个引擎好

垂直类的问答库搜索开发,用哪个引擎好

WBOY
WBOY原創
2016-06-06 20:12:351063瀏覽

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

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

回复内容:

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

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

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

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

推荐sphinx,操作简单

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn