我尝试在Windows上安装Sphinx作为服务,并按照以下教程中提到的步骤进行操作:
http://sphinxsearch.com/forum/view.html?id=2972
但该服务无法启动并提供错误#1067
所以,正如教程中提到的,我从控制台运行searchd
,这就是我得到的。
有人可以指导我做错了吗?
c:\sphinx\bin>searchd --console
Sphinx 2.0.7-release (r3759)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)
using config file './sphinx.conf'...
WARNING: compat_sphinxql_magics=1 is deprecated; please update your application
and config
listening on all interfaces, port=9312
listening on all interfaces, port=9306
precaching index 'test1'
precached 1 indexes in 0.004 sec
binlog: replaying log C:/sphinx/data/binlog.001
binlog: replay stats: 0 rows in 0 commits; 0 updates; 0 indexes
binlog: finished replaying C:/sphinx/data/binlog.001; 0.0 MB in 0.000 sec
binlog: replaying log C:/sphinx/data/binlog.001
binlog: replay stats: 0 rows in 0 commits; 0 updates; 0 indexes
binlog: finished replaying C:/sphinx/data/binlog.001; 0.0 MB in 0.000 sec
binlog: finished replaying total 2 in 0.003 sec
accepting connections
答案 0 :(得分:1)
什么对我有用
答案 1 :(得分:0)
我无法给你一个完整的答案,因为我有同样的“问题”。但是,我可以给你一个提示。
基本上,你已经启动了守护进程这是个好消息。当您从控制台运行searchd
并收到消息accepting connections
时,您可以开始提问! searchd
已准备好回答(只要它在控制台窗口中运行)。我个人使用Sphinx.Client
向VB.NET提问。 searchd
侦听端口9306和9312(您可以在配置中更改它),所以我在端口9312上向他发送问题。他回答并处理这些答案。就是这样。
当我完成搜索并关闭我的应用程序时,控制台仍处于打开状态,我必须手动关闭它(Ctrl + Break)。这就是让我烦恼的原因。我会想象它在后台运行,而我甚至没有注意到它(服务)。
到现在为止,我无法弄清楚为什么我的Sphinx不能作为服务运行。现在我已经开始工作了。问题是我盲目地使用了Sphinx在线手册中的命令,并没有相应地改变路径配置。
最初(手册):C:\Sphinx\bin\searchd --install --config C:\Sphinx\sphinx.conf.in --servicename SphinxSearch
为我工作:C:\Sphinx\bin\searchd --install --config C:\Sphinx\sphinx.conf --servicename SphinxSearch
正确是sphinx.conf
而非sphinx.conf.in
(在我的情况下)。
注意:如果您已尝试将searchd
安装为服务,则可能需要先删除它,因为您无法添加具有相同名称的其他服务。看看例如http://www.howtogeek.com/howto/windows-vista/how-to-delete-a-windows-service-in-vista-or-xp/。然后使用正确的配置路径发出正确的命令。您获得了所需的行为,即服务在后台运行,并且不会保留在打开的控制台窗口中。