~/talk

Finding Currajong - Fuzzy string searches in Python

Talkat PyCon AU 2017 · 2017-08-03..08-08· [python]
links:none on file
slides:none on file

Built a small Python app that searches a cleaned Gazetteer of Australia (~80,000 place names) for mistyped place names like Kurrajong, comparing algorithms by accuracy and speed. Implementations use the jellyfish library for soundex, metaphone and Levenshtein, a simple Hamming variant with length penalties (185 → 37 results), difflib.SequenceMatcher (772 hits but ~10× slower), and a blink‑fast regex subsequence fuzzy matcher (≈0.085s). Results show no single best method; practical solution indexes or filters with a phonetic pass then ranks candidates with Levenshtein plus small length penalties.

AI-written summary · about

  1. 0:00Introduction to fuzzy search
  2. 0:44Defining the search problem
  3. 4:10Hamming distance algorithm
  4. 8:26Phonetic algorithms
  5. 10:49Metaphone algorithm
  6. 13:16Levenstein distance
  7. 17:48Regex-based fuzzy search
  8. 19:44Conclusion and results
  9. 21:54Questions and answers
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.