16 个版本
使用旧的 Rust 2015
0.3.0 | 2020 年 2 月 13 日 |
---|---|
0.2.8 | 2020 年 1 月 6 日 |
0.2.7 | 2019 年 6 月 14 日 |
0.2.6 | 2019 年 1 月 29 日 |
0.1.2 | 2018 年 12 月 28 日 |
#2209 在 命令行工具
42 每月下载量
115KB
1.5K SLoC
一个用于监控互联网内容的开放标准
此仓库包含 IEQL (Internet Extensible Query Language,发音为 equal) 的规范和参考实现。IEQL 是一个用于监控和查询互联网内容的开放标准,旨在快速、高效和可扩展。
查询由什么组成?
IEQL 查询有两个部分:触发器和阈值。
触发器 是单个查询,通常是正则表达式模式。触发器可以配置为仅匹配互联网文档的某些元素(如 正文文本
或 HTTP 头部
),也可以匹配特定位置的互联网文档(例如,来自域 nytimes.com
的每个文档)。
阈值 是触发器的组合,是查询匹配所必需的。例如,IEQL 可能有三个不同的触发器:触发器 A、触发器 B 和触发器 C。IEQL 查询可以定义为任何时间触发器 A 触发且 任一 触发器 B 或触发器 C 触发即为匹配。或者,IEQL 查询的匹配阈值可以是 任意两个触发器。这些触发器组合是使 IEQL 强大的重要部分。
为什么 IEQL 查询很棒?
IEQL 查询提供了三个主要功能
- 速度 — IEQL 查询可以 编译 以扫描每秒数百万份文档。它们是 闪电般快速 的。
- 分组 — 您可以将数千个 IEQL 查询组合在一起,同时使用它们进行扫描,而不会出现严重的性能权衡。
- 开放性 — IEQL 是一个开放标准,这意味着您可以按自己的意愿实现它。
- 可扩展性 — 由于 IEQL 是基于 RON 构建的,因此它具有可扩展性——同时向后兼容。
我如何自己使用IEQL?
要开始使用IEQL,您可以参考Rust实现,或者基于开放规范自行创建。
许可协议
本文件采用CC-BY-SA许可协议,© R. Miles McCain 2018。Rust参考实现根据LICENSE
文件进行许可。
依赖项
~7–17MB
~230K SLoC