Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: ✨ [NEW FEATURE]Choose which identity matching algorithm has to be run #492

Open
wants to merge 16 commits into
base: master/dev
Choose a base branch
from

Conversation

create-issue-branch[bot]
Copy link

Original issue description

Description of the desired solution
We had a first algo that used the Levenstein distance between different fields. This method had the advantage of comparing all fields, not just the best descriptive value (BDV) and applies weighted comparison.
Then we worked on a solution that used phonetics to compare the different items, but this method only compared BDV.
For now, it's up to us to choose (in the code) which algo to run. And once we've chosen an algo, that's the one that's run, period.
What would be nice is to be able to let the user choose the algo.

In duplicate, we could imagine a dropdown with the algos and the user choosing which algo to run on the data in his team.

Resolution path
Top of my head :

  • Create a List of algorithms (extend the model ListControl)
  • Associate the class of your algorithm with the algorithm name (in your list)
  • Update the DB which store the duplicate results to also store the used algorithm (store the uuid not the name 😉)
  • Create the front with forms.form dropdown component
  • When the user select the algo to run, update in the DB choosen duplicate algorithm (might be store in the team table (add a new colum : selected duplicate algorithm))
  • Update the duplicate launcher to check which algo has to be run
  • Create feature test 😉

This is just a resolution idea that might need to be discussed.
Duplicate algorithm should have the same structure (same signature, same return type, ...) so it is not a problem to call one or another.

If the request is associated with a problem, please specify it.

Additional information

closes #479

@create-issue-branch create-issue-branch bot added AI-issue When applied, trigger AI help to summarize issue New feature New feature or request Next release Should be fix in next release labels Mar 26, 2024
@create-issue-branch create-issue-branch bot changed the title [NEW FEATURE]Choose which identity matching algorithm has to be run feat: ✨ [NEW FEATURE]Choose which identity matching algorithm has to be run Mar 26, 2024
@create-issue-branch create-issue-branch bot added this to the Identity Matching milestone Mar 26, 2024
Add match algorithms list and seeder

issue: #479
Add selected algorithm to duplicates and crews migrations

issue: #479
Font component and route to choose the algo

issue: #479
Fix: wrong model name in seeding

issue: #479
Run compute with the right algorithm and return the duplicates from that one only

issue: #479
Update last duplicate check to work with multiple algos

issue: #479
Updates since last run indicator fix

issue: #479
Usable frontend

issue: #479
Choose algorithm permissions

issue: #479
Choose algorithm request validation

issue: #479
Default to Levenshtein

issue: #479
Remove static text

issue: #479
Added tests

issue: #479
Copy link

sonarcloud bot commented Apr 23, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
B Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

Rename algorithm column for more clarity

issue: #479
Slightly better UI

issue: #479
@vqlion vqlion marked this pull request as ready for review October 7, 2024 08:43
Copy link

sonarcloud bot commented Oct 7, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AI-issue When applied, trigger AI help to summarize issue New feature New feature or request Next release Should be fix in next release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant