如何使用索引工具调试 sphinx 搜索

How to debug sphinx search using the indextool

我 运行 indextool 上的索引在我使用 indexer 时崩溃了 sphinx。

indextool 的输出显示许多失败,例如:

FAILED, string offset out of bounds (row=18, stringattr=3, docid=3317, index=896070)

有人可以帮助我了解参数(行、stringattr、docid、索引)的相关内容,以便我可以检查索引 csv 文件以尝试查看导致失败的原因吗?

这些是生成的索引中的偏移量。不在原始源数据集中。

但据我所知,indextool 仅检查现有索引。 运行 indexer 正在尝试从 'source' 数据创建索引的新版本。因此,如果索引器是 'crashing',则不会构建正确的索引。

所以 indextool 正在检查一些以前的版本,而不是在索引器崩溃时检查部分构建的索引!那个早期版本已经损坏。

简而言之,使用 indextool 是行不通的。需要使用 indexer 来调试。

也许试试 --dump-rows and/or --verbose options to indexer 也许会揭示在崩溃发生之前有用的东西?