首先我们需要,安装sphinx mongodb
如果只是使用命令来搜索的话,参考coreseek.js ,这是我用nodejs调用进程写的代码,这种方式我搜索的时候使用的是search命令,但是官网上说这种方法不可取,search命令只是为测试用的,所以还是尽可能的使用官方给出的api。
因为sphinx官方没有给出nodejs的驱动也不能直接操作mongodb所以我只能通过xml这个中间量来操作。首先我把数据存在mongodb里,然后我每次有新的数据存入mongodb的时候就生成一个delta.xml文件,然后生成delta索引,然后把delta合并到main索引上面。如何生成索引及如何配置数据源?
我通过xml来做数据源,但是还必须有nodejs对nphinx的驱动,首先这个驱动官方是没有的,只能用第三方的,这个我找了很久也没找到好用的,现在在用的是sphinxapi,然后还有一个limestone
那么如何来标示呢,我是每个xml文档的document里都有一个id,
然后通过sphinx检索出来的结果的格式:
如何安装mongodb可以参考:http://blog.sina.com.cn/s/blog_abba9c1d0101cmd1.html
其中的一些路径定义在config/config.js里
clone :gitclone git@github.com:marujun/mongoLog.git
clone 之后需要:npm install
limestone:https://github.com/kurokikaze/limestone
找的一些文章说sphinxapi对中文的支持不好,搜索中文的时候不返回数据,然后limestone的功能比较少而且现在也不更新了。真希望官方可以给出nodejs的驱动并支持连接mongodb.不过现在找不到好的驱动只能先使用少的可怜的第三方的驱动了。
