stephane-klein / backlog

My public backlog
30 stars 1 forks source link

Je souhaite implémenter dans un POC une fonctionnalité Fuzzy search avec PostgreSQL #360

Open stephane-klein opened 10 months ago

stephane-klein commented 10 months ago

Je souhaite implémenter dans un POC une fonctionnalité Fuzzy search avec PostgreSQL.

Je souhaite au minimum quelque chose comme ripgrep

stephane-klein commented 10 months ago

Première piste : F.17. fuzzystrmatch — determine string similarities and distance, est-ce que je dois partir vers cette direction ?

stephane-klein commented 10 months ago

Première piste : F.17. fuzzystrmatch — determine string similarities and distance, est-ce que je dois partir vers cette direction ?

Cette extension implémente les algorithmes suivants qui ont des articles Wikipedia :

stephane-klein commented 10 months ago

Le code source de fuzzystrmatch

stephane-klein commented 10 months ago

The Soundex system is a method of matching similar-sounding names by converting them to the same code. It was initially used by the United States Census in 1880, 1900, and 1910. Note that Soundex is not very useful for non-English names.

En effet, je ne vois aucun support de langue dans le code source https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=contrib/fuzzystrmatch;h=89b42b78852929839c19f07a98c86f29521bd8b7;hb=HEAD

stephane-klein commented 10 months ago

Je cherche sur Reddit : https://old.reddit.com/r/PostgreSQL/search?q=fuzzy&restrict_sr=on&include_over_18=on&sort=relevance&t=all

stephane-klein commented 10 months ago

J'ai lu https://blog.brendanscullion.com/postgresql-text-search#heading-trigrams-fuzzier

stephane-klein commented 10 months ago

Je pense mettre ce POC en pause, parce que je viens de réaliser que dans le projet que je suis en train de réaliser, je peux charger toutes les données (qui sont peu nombreuses) dans le navigateur et ensuite effectuer la recherche Fuzzy dans le navigateur.

Ressource https://www.fusejs.io/

stephane-klein commented 10 months ago

J'ai découvert Bitap algorithm (from)