TL;DR
This paper introduces a simple, efficient split index for approximate dictionary matching with few mismatches, demonstrating competitive performance and effective compression, especially for Hamming distance queries.
Contribution
The paper presents a novel split index method for approximate dictionary matching that is simple, space-efficient, and performs well in practical scenarios.
Findings
Query times around 1 microsecond for one mismatch
The split index outperforms other algorithms for Hamming distance
Q-gram substitution reduces index size by up to 50%
Abstract
Approximate dictionary matching is a classic string matching problem (checking if a query string occurs in a collection of strings) with applications in, e.g., spellchecking, online catalogs, geolocation, and web searchers. We present a surprisingly simple solution called a split index, which is based on the Dirichlet principle, for matching a keyword with few mismatches, and experimentally show that it offers competitive space-time tradeoffs. Our implementation in the C++ language is focused mostly on data compaction, which is beneficial for the search speed (e.g., by being cache friendly). We compare our solution with other algorithms and we show that it performs better for the Hamming distance. Query times in the order of 1 microsecond were reported for one mismatch for the dictionary size of a few megabytes on a medium-end PC. We also demonstrate that a basic compression technique…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
