{
  "slug": "prefix-bloom-filter",
  "term": "Prefix Bloom filter",
  "aliases": [
    "Prefix membership filter"
  ],
  "definition": "A Bloom filter built over extracted key prefixes rather than only whole keys, allowing negative membership tests for those represented prefixes.",
  "note": "A present prefix can belong to an absent full key; that is not a false positive for prefix membership. A single negative prefix test cannot prove an interval crossing other prefixes empty. RocksDB prefix iteration requires the matching query contract. [prefix-guide]",
  "related": [
    "bloom-filter",
    "prefix-extractor",
    "succinct-range-filter"
  ],
  "citations": [
    {
      "id": "prefix-guide",
      "title": "RocksDB project. Prefix Seek: comparator compatibility, iterator modes and extractor changes.",
      "url": "https://github.com/facebook/rocksdb/wiki/Prefix-Seek",
      "accessed": "2026-10-13"
    },
    {
      "id": "hesela",
      "title": "Hesela: filter predicates, prefix correctness and SuRF boundaries",
      "url": "https://hesela.com/analyses/bloom-filters-lsm-read-cost/#predicates",
      "accessed": "2026-10-13"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-13"
}
