狮身人面像/ Manticore-以一个普通索引为基础吗?

问题描述

我有一个纯文本索引,该索引从MysqL吸收数据并将其以我需要的格式插入Manticore(例如,将日期时间字符串转换为时间戳,对某些字段进行CONCAT处理等。

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

例如,我的第一个索引是已拨打/接听的所有电话的列表(电话号码,通话时间,座席)。第二个索引应按“年月日”日期进行分组,这样我就可以看到每个座席在这一天进行了多少次呼叫。这意味着我以idx_phone_callsidx_phone_calls_by_date结尾。

当前,我从MysqL生成一个索引,然后让Manticore进行查询(通过将MysqL主机设置为localhost。它可以工作,但是感觉好像我应该能够直接从索引中查询Manticore。 ,我正在努力寻找是否可行。

有更好的方法吗?

解决方法

Sphinx / Manticore拥有自己的GROUP BY功能。因此,也许无论如何也可以对原始索引运行最终查询,而无需第二个索引。 Sphinx的聚合(以某种方式)比MySQL更强大,并且可以执行某些“超级聚合”功能(例如使用WITHIN GROUP ORDER BY

但是否则,没有直接的方法可以创建另一个对象(例如,没有CREATE TABLE idx_phone_calls_by_date SELECT ... FROM idx_phone_calls ...

您指导indexer来查询searchd中数据的“解决方案”是好的。通常,这应该非常有效,特别是在localhost上,几乎没有开销。维护查询的逻辑分离,建立索引的索引器保持索引。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...