matching

package
v0.0.0-...-151ce6e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2020 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Implémente des outils de recherche et de fusion de profil

Index

Constants

This section is empty.

Variables

View Source
var (
	PoidsRechercheSimilaire = struct {
		Nom, Prenom, Mail, NomJeuneFille, DateNaissance, Sexe int
	}{3, 2, 4, 2, 3, 1}
	SEUIL_RECHERCHE_SIMILAIRE = 2
)

Functions

func ChercheSimilaires

func ChercheSimilaires(personnes []rd.Personne, in PatternsSimilarite) (scoreMax int, out []scoredPersonne)

ChercheSimilaires effectue la recherche, et peut être utilisée directement (sur le serveur). Les personnes temporaires sont ignorées.

func RemoveAccents

func RemoveAccents(s string) string

func SelectAllPatternSimilaires

func SelectAllPatternSimilaires(tx rd.DB) ([]rd.Personne, error)

SelectAllPatternSimilaires ne charge que les champs requis par `PatternsSimilarite`

Types

type Conflicts

type Conflicts struct {
	Nom                  bool
	NomJeuneFille        bool
	Prenom               bool
	DateNaissance        bool
	VilleNaissance       bool
	DepartementNaissance bool
	Sexe                 bool
	Tels                 bool
	Mail                 bool
	Adresse              bool
	CodePostal           bool
	Ville                bool
	Pays                 bool
	SecuriteSociale      bool
	Profession           bool
	Etudiant             bool
	Fonctionnaire        bool
}

Conflicts indique quels champs n'ont pu être automatiquement fusionnés

func Merge

func Merge(entrant rd.BasePersonne, existant rd.BasePersonne) (merged rd.BasePersonne, conflicts Conflicts)

Merge compare champs par champs les deux personnes et renvoie le résultat de la fusion et un crible d'alerte

type IdentifieTarget

type IdentifieTarget interface {
	// contains filtered or unexported methods
}

IdentifieTarget est une union décrivant le résultat d'une identification ("vers un nouveau profil" ou "rapprochement")

type NouveauProfil

type NouveauProfil struct{}

type PatternsSimilarite

type PatternsSimilarite struct {
	Nom           rd.String `json:"nom,omitempty"`
	Prenom        rd.String `json:"prenom,omitempty"`
	Sexe          rd.Sexe   `json:"sexe,omitempty"`
	DateNaissance rd.Date   `json:"date_naissance,omitempty"`
	Mail          rd.String `json:"mail,omitempty"`
	NomJeuneFille rd.String `json:"nom_jeune_fille,omitempty"`
}

Fonction de recherche par similarité dans les personnes

type Rattache

type Rattache struct {
	IdTarget      int64           // la personne à laquelle se rattacher
	Modifications rd.BasePersonne // le résultat de la fusion, à appliquer à la cible
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL