View Issue Details

IDProjectCategoryView StatusLast Update
3848Composrsearchpublic2020-05-18 17:21
ReporterAdam Edington Assigned ToChris Graham  
PrioritynormalSeverityfeature 
Status closedResolutionwon't fix 
Summary3848: Metaphonic search indexing
DescriptionBy making use of the PHP 'metaphone' function we could allow the search engine to be more tolerant of spelling mistakes.

The metaphone function reduces spelling to a simplified phonetic spelling that captures the broad sound but in a much denser way (i.e. less room for subtle alternatives).

For example, the metaphone() of the word "javascript" returns the string: JFSKRPT.
For example. Composr would return KMPSR and Conposr would return KNPSR. Even if you typed Composer and Conposer the phonetic results are the same as without the 'e' (KMPSR, KNPSR) - a good example of the aforementioned tolerance for mistakes.

To implement this, we'd need to introduce metaphonic indexing, similar to full-search indexing. Search terms would be converted to their metaphone-equivalent, then compared to entries in the index.
Additional InformationThe YouTube video where I discovered this little known/used function @ https://www.youtube.com/watch?v=Yuj1wDMlZc0
A tutorial which uses the equally obscure levenshtein function to return the minimum number of modified characters to further enhance results @ https://www.codepunker.com/blog/implement-a-sounds-like-search-in-php
TagsNo tags attached.
Attach Tags
Attached Files
example.png (105,509 bytes)   
example.png (105,509 bytes)   
Time estimation (hours)16
Sponsorship open

Sponsor

Date Added Member Amount Sponsored

Relationships

related to 3288 ResolvedChris Graham Major overhaul of fulltext search support, the "Composr fast custom index" 
related to 1573 Not AssignedGuest Database natural sorting 

Activities

Chris Graham

2020-05-18 17:21

administrator   ~6549

I looked at this, and it's a good idea in theory but actually a lot of totally different words will generate the same metaphonic indexes, so the results would be really messy.

Issue History

Date Modified Username Field Change
2019-07-15 01:25 Adam Edington New Issue
2019-07-15 01:25 Adam Edington File Added: example.png
2019-07-15 01:31 Adam Edington Description Updated
2019-07-19 01:45 Chris Graham Relationship added related to 3288
2019-07-19 01:50 Chris Graham Summary Metaphone function => Metaphonic search indexing
2019-07-19 01:50 Chris Graham Description Updated
2019-07-19 01:50 Chris Graham Time estimation (hours) => 16
2019-07-31 19:25 Chris Graham Relationship added related to 1573
2020-05-18 17:21 Chris Graham Assigned To => Chris Graham
2020-05-18 17:21 Chris Graham Status Not Assigned => Closed
2020-05-18 17:21 Chris Graham Resolution open => won't fix
2020-05-18 17:21 Chris Graham Note Added: 0006549