1

我尝试在 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
4

2 回答 2

1

什么对我有用

  1. 确保文件夹日志和数据存在于@confdir@
  2. 使用配置文件的完整路径,而不是相对路径
于 2014-03-14T08:53:59.730 回答
0

我不能给你一个完整的答案,因为我遇到了同样的“问题”。不过,我大概可以给你一个提示。

基本上,您已经启动了守护进程,这是个好消息。当您searchd从控制台运行并收到消息accepting connections时,您可以开始提问!searchd准备好回答(只要它在控制台窗口中运行)。我个人使用Sphinx.Client. 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/。然后使用正确的配置路径发出正确的命令。您将获得所需的行为,即服务在后台运行,并且不会保留在打开的控制台窗口中。

于 2013-08-22T21:47:21.053 回答