I was recently asked about improving website performance for a peers website.
What options are typically used for performance tuning sites enabled with SoundEx?
Overview
Using the homophones Smith/Smythe, I was able to reproduce the behavior of the website query response time described.
These are measured at the browser so there's a lot that could go into the number, but generally speaking the values were what we would expect, less for the non-SoundEx search and more for SoundEx search.
Smith - Not Soundex - (1705 results) - 6.62s server wait
Smythe - Not Soundex - (8 results). - 5.51s server wait
Smith - Soundex - (4446 results) - 9.47s server wait
Smythe - Soundex - (4446 results) - 10.85s server wait
Technical Stack
language - python - 2.7.5
framework - Django - 1.3
database - not yet known - not yet known
NOTE: Database type and version will most likely play a role in what solutions are viable.
Sources
- Performance: Put soundex in DB or translate it after the query?
- https://support.ancestry.com/s/article/Searching-with-Soundex