Sphinx在索引器--rotate之后返回旧数据

时间:2014-06-19 10:11:30

标签: search-engine sphinx

我正在使用sphinx版本2.0.4完全正常工作。

每当我想重新索引数据时,我都在使用索引器

/usr/bin/indexer --config /etc/sphinxsearch/sphinx.conf XXX --rotate 

它提供输出:

root@dsphinx:~# /usr/bin/indexer --config /etc/sphinxsearch/sphinx.conf XXX --rotate 

using config file '/etc/sphinxsearch/sphinx.conf'...
indexing index 'XXX'...
collected 9536 docs, 55.8 MB
sorted 4.7 Mhits, 100.0% done
WARNING: 2 duplicate document id pairs found
total 9536 docs, 55758410 bytes
total 3.930 sec, 14187197 bytes/sec, 2426.34 docs/sec
total 4 reads, 0.005 sec, 2926.5 kb/call avg, 1.3 msec/call avg
total 262 writes, 0.062 sec, 311.5 kb/call avg, 0.2 msec/call avg
rotating indices: succesfully sent SIGHUP to searchd (pid=14068).

问题是过程14068给出了旧的索引数据。

如果我重新加载服务(/etc/inid.d/sphinxsearch reload),则会更改此进程ID,并且sphinx会返回新的索引数据。

这是一个错误还是我做错了什么?

1 个答案:

答案 0 :(得分:1)

你是如何运行查询的?

您是否在客户端使用任何类型的持久连接管理器?如果是这样,它可能会保持连接打开,这不会给搜索有机会重新启动。

(即重启将延迟,直到所有连接都关闭)