无语的各种问题
升级Sphinx2.x 到 Sphinx3之后,就发现各种离奇古怪的事情。
对照着文档进行测试,发现这官方文档都说错误的。
1)官方说要写一个 sql_query_kbatch
可这个参数不管是写在 source 里还是index里,都只给你报错提示ERROR: unknown key name 'sql_query_kbatch',真的是吐血,官方文档都是错误的,却还一直这样写着。
2)关于增量索引
在Sphinx2中可以先生成delta增量索引,并且吧要删除的都放在里面,然后再将增量索引delta合入全量主索引main。无问题 !到了Sphinx3这里,真的是无语。在delta中只能新增增量索引,要么对main进行删除索引,而无法同时两个都操作,--merge-klists 这个参数也不存在了,不支持了。但是你如果将 增量索引delta 合入 全量主索引main ,那些在delta中被killist的却再次被合入到了 main 中,真的是要吐血啊。
3)文档都没有,只能靠猜
Sphinx3 文档都没有完整版的,而Sphinx3里面还附带着Sphinx2的文档,但实际上Sphinx2文档中很多都是不存在的,写上去直接报错不识别。真的是无语。说明官方都懒得更新文档了
替代方法
写两个增量索引 delta 和 delta_merge ,delta中加入 killlist,而另外一个delta_merge 专门用来 合并新增的索引。但是测试结果很失望,依旧是合并的时候会将删除的索引再加进去。无语!!!!
猜测判断
Sphinx官方都已经不在维护了,Sphinx3.x的这些bug从2018年上半年就没更新过了,估计不会在更新了。
为何不使用ElasticSearch呢?ElasticSearch要求配置高,服务器成本高,所以选择Sphinx。
最后选择
Sphinx3.x 真没法用了,测试了几十遍,感觉这东西内层BUG还不是一两个,多执行几次命令就完全不对,合并也不会有数据,delta 里面的 kbatch 也不会去删减旧的索引,而官方基本上一种废弛状态。
升级至Sphinx3.x后遭遇一系列问题,包括官方文档误导、增量索引合并失败及缺失文档支持。测试显示,增量索引无法正确处理删除操作,且合并时会重复包含已删除的索引。
2749

被折叠的 条评论
为什么被折叠?



