Search the Community
Showing results for tags 'fuzzy'.
-
Hi, The current implementation of Emby search is very basic. Based on what I can tell, it only matches exact strings in the same exact order. Example: "Mission: Impossible" In this example the following queries will return a positive match Possible Impossible Mission Mission: Impossible And the following queries will not return anything at all (The worst offenders are highlighted) Mission Impossible Missoin: Imposible Imposible Impossible Mission Mission : Impossible Mission Impossible Another example would be "Mr. Robot" where if the dot is missing, nothing is returned or in general terms any variation of any string that is not an exact match will not return anything at all. Let's not even attempt to try a title like "Agents of S.H.I.E.L.D.". This makes the search difficult to use and at times even frustrating. As the examples above show, the major theme is special characters and punctuation and they can probably be bypassed by just ignoring them, which might or might not cause other problems in the process. This problem also affects titles that have letters with diacritical marks or glyphs such as "Amélie" and "Æon Flux", if you can't type them exactly, you can't find them. In my opinion a better attempt would be to use a difference string matching algorithm such as Levenshtein distance, you can then define an acceptable threshold and return the closest matches. I found a couple of C# projects that implement this and might be useful as a starting point. FuzzyWuzzy, a port of Python project in C#. https://github.com/BoomTownRoi/BoomTown.FuzzySharp FuzzyString. Has some additional string comparison algorithms too. https://github.com/kdjones/fuzzystring Thanks.