一个朋友的PHP网站想要使用开源全文搜索Sphinx来改善搜索,于是在本地windows主机中安装了Sphinx以作开发和测试环境。
在安装过程中,遇到了1067错误,现将解决过程记录如下,以作备忘。
安装的过程很简单,按文档所说,将Sphinx解压至D盘Sphinx文件夹。
打开文件夹,可以看到子文件夹结构如下:
将sphinx-min.conf.in复制为sphinx.conf。修改其内容中关于数据库连接的参数,包括数据库类型(我的是mysql)、数据库管理员账号、密码、要搜索的数据库等。
开始》运行》cmd
打开命令行窗口。
>D:\Sphinx\bin\searchd.exe --install --config D:\Sphinx\sphinx.conf --servicename Sphinx
得到安装成功的提示。
>services.msc
打开服务管理器,可以在列表中找到Sphinx。
启动该服务,却被告知:
google、baidu,结果都是说因为没有指定配置文件的位置引起的。
我明明用config参数指定了配置文件的,而且配置文件也存在呀。
继续在命令行下直接启动searchd.exe:
>D:\Sphinx\bin\serchd.exe --config d:\sphinx\sphinx.conf
得到的提示却是指定的索引文件sph找不到。
哦,原来是没有建立索引!
>D:\Sphinx\bin\indexer.exe --all --config d:\Sphinx\sphinx.conf
再启动服务,一切OK。
其实这怨不得作者的文档写的不好,也怨不得网上那些文章。因为如果真的没有指定配置文件,或配置文件找不到,提示也是1067。谁能想到有人会不建立索引就启动服务呢。偏偏我就那么操作的!
阅读(4908) | 评论(0) | 转发(0) |