sphinx - 狮身人面像 / Manticore - 以一个普通索引为基础?
问题描述
我有一个纯文本索引,它从 MySQL 中提取数据并以我需要的格式将其插入 Manticore(例如,将日期时间字符串转换为时间戳,连接一些字段等。
然后,我想根据这些数据创建第二个纯文本索引以进一步分组。这将使我不必重新运行对第一个索引所做的规范化,INSERT
或者使我将来更容易查询。
例如,我的第一个索引是所有已拨打/接听电话的列表(电话号码、时长、代理)。第二个索引应该按年-月-日分组,这样我就可以看到当天每个座席打了多少电话。这意味着我最终得到idx_phone_calls
and idx_phone_calls_by_date
。
目前,我从 MySQL 生成第一个索引,然后让 Manticore 查询自身(通过将 MySQL 主机设置为 localhost。它可以工作,但感觉好像我应该能够直接从索引中查询 Manticore。但是,我我正在努力寻找这是否可能。
有更好的方法吗?
解决方案
那么Sphinx/Manticore,有自己的GROUP BY功能。所以也许无论如何都可以对原始索引运行最终查询,避免需要第二个索引。Sphinx 的聚合(在某种程度上)比 MySQL 更强大,并且可以做一些“超级聚合”功能(比如 with WITHIN GROUP ORDER BY
)
但除此之外,没有直接的方法来创建另一个(例如,没有CREATE TABLE idx_phone_calls_by_date SELECT ... FROM idx_phone_calls ...
)
您指导indexer
从中查询数据的“解决方案”searchd
很好。一般来说,这应该非常有效,特别是在本地主机上,几乎没有开销。维护 searchd 用于查询的逻辑分离,索引器用于构建索引。
推荐阅读
- javascript - 获取用户是否使用 vanilla javascript 响应页面结束
- java - 比较字符串(索引)
- c# - 使用 RestSharp 获取 PayPal 访问令牌返回“状态代码:未找到”
- python - 尝试构建 python 应用程序的 Docker 映像时,我得到 'AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'
- python - 为什么链接提取器会跳过链接?
- excel - Excel - 在一行中搜索特定文本,然后将该值复制并粘贴到特定单元格中
- sql - 使用生成系列
- css - 是否有可能在猫头鹰轮播项目上显示元素?
- python - 在 python docker 镜像上使用 GPU
- flutter - BottomSheet 值不使用按钮颤动更新