|new 0.3.0||Feb 13, 2020|
|0.2.8||Jan 6, 2020|
|0.2.7||Jun 14, 2019|
|0.2.6||Jan 29, 2019|
|0.1.2||Dec 28, 2018|
#292 in Command line utilities
169 downloads per month
An open standard for monitoring Internet content
This repository contains the specification and reference implementation for IEQL (Internet Extensible Query Language, pronounced equal). IEQL is an open standard for monitoring and querying Internet content designed to be fast, efficient, and scalable.
IEQL queries have two parts: the triggers and the threshold.
Triggers are individual queries, typically RegEx patterns. Triggers can be configured to match only on certain elements of Internet documents (such as
body text or
HTTP headers), and also to match on Internet documents at a certain location (for example, every document from domain
The threshold are the compositions of triggers that are required in order for the query to match. For example, an IEQL might have three different triggers: Trigger A, Trigger B, and Trigger C. An IEQL query could be defined such that a match is defined as any time Trigger A fires and either Trigger B or Trigger C fires. Alternatively, the IEQL query's match threshold could be any two triggers. These trigger compositions are an important part of what makes IEQL powerful.
IEQL queries provide three main features:
- Speed — IEQL queries can be compiled so that they can scan millions of documents per second. They are blazing fast.
- Grouping — You can combine thousands of IEQL queries together and scan using all of them at the same time without serious performance trade-offs.
- Openness — IEQL is an open standard, which means that you can implement it however you'd like.
- Extensibility — Because IEQL is built on top of RON, it's extensible—and yet also backwards-compatible.
To get started with IEQL, either use the reference Rust implementation or create your own based off of the open specification.
This document is licensed CC-BY-SA, © R. Miles McCain 2018. The Rust reference implementation is licensed according to the