Sphinx / Manticore - 以一个普通索引为基础?

Sphinx / Manticore - base one plain index off another?

我有一个纯文本索引,它从 MySQL 中提取数据并以我需要的格式将其插入 Manticore(例如,将日期时间字符串转换为时间戳,连接某些字段等

然后我想基于此数据创建第二个纯文本索引以进一步对其进行分组。这将使我不必重新 运行 对 INSERT 上的第一个索引完成的规范化,或者使我将来更容易查询。

例如,我的第一个索引是已拨打/接听的所有 phone 电话的列表(电话phone 号码、持续时间、座席)。第二个索引应该按年-月-日分组,这样我就可以看到每个座席当天打了多少电话。这意味着我最终得到 idx_phone_callsidx_phone_calls_by_date.

目前,我从 MySQL 生成第一个索引,然后让 Manticore 查询自身(通过将 MySQL 主机设置为本地主机。它有效,但感觉好像我应该能够直接从索引中查询 Manticore。但是,我正在努力寻找是否可行。

有更好的方法吗?

嗯Sphinx/Manticore,有自己的GROUP BY功能。因此,也许 运行 无论如何都可以对原始索引进行最终查询,从而避免对第二个索引的需要。 Sphinx 的聚合(在某种程度上)比 MySQL 更强大,并且可以执行一些 'super aggregation' 功能(例如 WITHIN GROUP ORDER BY

但除此之外没有直接的方法来创建另一个(例如没有CREATE TABLE idx_phone_calls_by_date SELECT ... FROM idx_phone_calls ...

你的'solution'指导indexer查询来自searchd的数据是好的。一般来说,这应该是非常有效的,特别是在本地主机上,几乎没有开销。保持 searchd 用于查询的逻辑分离,indexer 用于构建索引。