View Issue Details

IDProjectCategoryView StatusLast Update
0003848Composrsearchpublic2020-05-18 17:21
ReporterAdam EdingtonAssigned ToChris Graham 
SeverityFeature-request 
Status closedResolutionwon't fix 
Product Version 
Fixed in Version 
Summary0003848: 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.
Time estimation (hours)16
Sponsorship open

Relationships

related to 0003288 resolvedChris Graham Major overhaul of fulltext search support, the "Composr fast custom index" 
related to 0001573 non-assigned Database natural sorting 

Activities

Adam Edington

2019-07-15 01:25

administrator  

example.png (105,509 bytes)
example.png (105,509 bytes)

Chris Graham

2020-05-18 17:21

administrator   ~0006549

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 View Revisions
2019-07-15 01:32 Adam Edington Issue Revision Dropped: Description: 0002632
2019-07-19 01:45 Chris Graham Relationship added related to 0003288
2019-07-19 01:50 Chris Graham Summary Metaphone function => Metaphonic search indexing
2019-07-19 01:50 Chris Graham Description Updated View Revisions
2019-07-19 01:50 Chris Graham Time estimation (hours) => 16
2019-07-31 19:25 Chris Graham Relationship added related to 0001573
2020-05-18 17:21 Chris Graham Assigned To => Chris Graham
2020-05-18 17:21 Chris Graham Status non-assigned => closed
2020-05-18 17:21 Chris Graham Resolution open => won't fix
2020-05-18 17:21 Chris Graham Note Added: 0006549