Dav*_*Xia 14 full-text-search sphinx
我已经重新编制了我的Sphinx搜索索引/usr/local/sphinx/bin/indexer --all --rotate,并将原始索引输出文件重命名为其他内容.只需更改传递的索引参数就$sphinx->Query($query, $index);不会返回任何结果.
我怀疑守护进程不知道新的索引文件存在.所以我跑了
sudo /usr/local/sphinx/bin/searchd
再次尝试重新启动它.但它扔了
FATAL: failed to lock pid file '/usr/local/sphinx/var/log/searchd.pid': Resource temporarily unavailable (searchd already running?)
我不得不kill使用搜索守护进程的2个进程并再次启动它以从新的索引文件中获取.是否有一种优雅的方式来重新启动它?
Nar*_*sus 25
我知道这是一个迟到的答案,但你知道,要重新启动Sphinx,你需要停止它然后启动它(如两个不同的进程).
要停止它,请打电话searchd --stop然后再次启动它searchd.
您需要在新索引上调用indexer来创建它,然后--rotate来更新它.
所以它会是这样的
indexer --config /path/to/config.conf indexname
Run Code Online (Sandbox Code Playgroud)
然后,当您只想更新索引时
indexer --config /path/to/config.conf --rotate --all
Run Code Online (Sandbox Code Playgroud)
这将创建每个索引的临时副本,并在完成后替换旧索引.有关实际情况的更多信息,请参阅http://sphinxsearch.com/docs/manual-0.9.9.html#ref-indexer
在你得到的另一个错误
ps aux | grep searchd
Run Code Online (Sandbox Code Playgroud)
如果没有返回结果,则删除/usr/local/sphinx/var/log/searchd.pid并再次开始搜索
| 归档时间: |
|
| 查看次数: |
43953 次 |
| 最近记录: |