'Fuzzy Matching/ String Similarity for OCR of a Receipt

I am developing an Android App in Java that scans a Receipt with the ML KIT.

So i am trying to match the Result of my OCR with the Elements in a SQLite Database. This SQLite Database contains a table which has over 30.000 different Productnames.

So far i have been using the FuzzyWuzzy implementation of Java but i am uncertain if this is really the best way to solve my problem. Thus i have to be aware of potential spelling mistakes if the OCR makes mistakes and recognizes characters wrong.

Example:

So there could be a Product which is listed as "Apple Pie + Name of a Brand" on the Receipt and i am trying to find the closest match to an Element in my Database.

Question:

So what algorithm would be best suited for this specific problem? Or is there a better approach then trying to solve this with a algoritm?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source