【问题标题】:Sphinx indexer delta --rotateSphinx 索引器 delta --rotate
【发布时间】:2011-09-29 20:06:06
【问题描述】:

我在此处遵循 sphinx 手册:http://sphinxsearch.com/docs/current.html#delta-updates,了解如何对索引执行增量更新。

我的 searchd 正在运行正确的配置文件。 索引器之前已运行以创建主索引。

当我运行这个命令时:

indexer -c /home/brandon/workspace/gallery/server/lib/sphinx/sphinx.conf --rotate delta

我得到这个结果:

using config file '/home/brandon/workspace/gallery/server/lib/sphinx/sphinx.conf'...
read 0.1 of 0.1 MB, 100.0% done
merged 10.8 Kwords
merged in 0.010 sec
total 389 reads, 0.000 sec, 2.0 kb/call avg, 0.0 msec/call avg
total 7 writes, 0.000 sec, 78.6 kb/call avg, 0.0 msec/call avg
rotating indices: succesfully sent SIGHUP to searchd (pid=28039).

一切看起来都正常,主索引应该已经更新了。然后我转到我的搜索栏,但它没有更新,因为我无法搜索新项目。

有什么建议吗?

【问题讨论】:

    标签: linux sphinx


    【解决方案1】:

    确保在您的应用中使用 both(主索引和增量索引)进行搜索。 增量索引只是另一个索引,所以基本上当您重新索引增量索引时,它不会向主索引添加任何内容。因此,您的应用应该在两个索引(主索引、增量索引)中进行搜索。

    【讨论】:

    • 优秀。这似乎是我的问题。
    • 或者你可以将delta索引合并到主索引中,我认为大多数人都是这样做的。
    【解决方案2】:

    我的建议很简单。 编写一个简单的程序来经常索引它,然后重新启动 sphinx 服务( searchd )。 结果会出来的。

    确保在 api 代码中同时包含 main 和 index。 ( $index = "main,delta"; )

    您可以在此处按照我在上一个答案中的说明进行操作:Does Sphinx auto update is index when you add data to your SQL?

    【讨论】:

    • 不,不要重新启动 searchd。这很浪费,并且会导致停机。 --rotate 将完成加载新索引所需的所有操作。 (它通过告诉 searchd 重新加载所需的索引来做到这一点。它无缝地发生)
    猜你喜欢
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多