{
  "slug": "zor-filter",
  "term": "ZOR filter",
  "aliases": [
    "ZOR approximate-membership filter"
  ],
  "definition": "A ZOR filter is a static membership structure that continues stalled XOR-style peeling by abandoning keys and handles missed members in an auxiliary structure.",
  "note": "Pure ZOR can miss abandoned keys; the complete design checks an auxiliary after a main-filter negative. Only abandoned keys that actually miss need auxiliary storage. [zor-paper]\n\nThe main peeling stage makes deterministic progress. The selected auxiliary builder has its own construction contract. Prototype measurements separate positive and negative queries and show slower construction than optimized Fuse. [zor-paper]",
  "related": [
    "xor-filter",
    "binary-fuse-filter",
    "ribbon-filter",
    "sstable"
  ],
  "citations": [
    {
      "id": "zor-paper",
      "title": "Antoine Limasset. ZOR Filters: Fast and Smaller Than Fuse Filters. SEA 2026, sections 2.2, 2.4, 2.7-2.9 and 3. DOI: 10.4230/LIPIcs.SEA.2026.24.",
      "url": "https://doi.org/10.4230/LIPIcs.SEA.2026.24",
      "accessed": "2026-11-08"
    },
    {
      "id": "hesela-zor",
      "title": "Hesela: ZOR continuation and combined-filter error accounting.",
      "url": "https://hesela.com/analyses/bloom-filters-lsm-read-cost/#zor-continuation",
      "accessed": "2026-11-08"
    }
  ],
  "status": "research",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-08",
  "provenance": [
    "Source synthesis, not an executed ZOR benchmark or a production deployment claim."
  ]
}
