项目一直用 sphinx 做全文搜索,这次也不例外,只不过将 thinking-sphinx 的版本换到了 3.x,不过话说 3.x 和 2.x 的改变还有点大哦。具体请参见https://github.com/pat/thinking-sphinx/blob/master/README.textile#usage
关于 thinking-sphinx 的配置文件,文档上如是说在 config 目录下,新建一个叫做 thinking-sphinx.yml 或者 sphinx.yml 的文件。由于其他项目使用 2.x 的版本的配置文件一直叫的 sphinx.yml,所以这次也不例外。
很快配置搞定后,就开始测试起来,创建索引,搜索,一切都很好,有点小小 happy, 搞了一杯咖啡,喝着。
然后测试模糊查询的时候,居然不支持了。自己惊讶了,然后开始检查,发现配置文件中是有enable_star: true
这一句的。无赖然后从 log 看起 没发现报错和异常,开始 gg,也没有找到相关提示,无奈的结束了一天的工作。
今天早上一来,先看把文档再从头看了一遍,还是没有发现什么好的提示,最后实在没办法,翻出源码看一下,结果一下看到这一句 https://github.com/pat/thinking-sphinx/blob/master/lib/thinking_sphinx/configuration.rb#L129 ,心里一惊,感叹到“不会吧”。。。然后开始 将 config/sphinx.yml 删掉,然后重新创建索引。。重新测试,发现和没有删除的是一样的结果。
丫的,这不是 sphinx 的配置文件根本没有起作用吗,然后将 config/sphinx.yml 修改为 config/thinking-sphinx.yml,rebuild 过后,就 ok。。
看到这样的结果好无语,浪费了这么多时间。。。
总结: