Skip to content

Commit

Permalink
fix: enlever les accents dans la recherche
Browse files Browse the repository at this point in the history
  • Loading branch information
K4ST0R committed Nov 12, 2024
1 parent 01e0869 commit 8835ca3
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 16 deletions.
1 change: 1 addition & 0 deletions server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
"commander": "9.2.0",
"csv-parse": "5.0.4",
"deep-equal-in-any-order": "2.0.6",
"diacritics": "1.3.0",
"dotenv": "16.0.0",
"env-var": "7.1.1",
"express": "4.18.1",
Expand Down
2 changes: 1 addition & 1 deletion server/src/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import { importFormationSimilaire } from "./jobs/formations/importFormationSimil
import { importFichesFormationsTmp } from "./jobs/formations/importFichesFormationsTmp";
import { importIndicateurPoursuiteRegionale } from "./jobs/exposition/importIndicateurPoursuiteRegionale";
import { importFamillesMetiers } from "./jobs/formations/importFamillesMetiers";
import { createSearchIndex } from "./services/search/search";
import { createSearchIndex } from "./services/formation/search";

const cli = new Command();

Expand Down
15 changes: 2 additions & 13 deletions server/src/queries/getFormations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { DB, Etablissement, Formation, FormationEtablissement } from "#src/commo
import { jsonBuildObject } from "kysely/helpers/postgres";
import FormationRepository from "#src/common/repositories/formation";
import config from "#src/config";
import { getSearch } from "#src/services/search/search.js";
import { search } from "#src/services/formation/search.js";

const logger = getLoggerWithContext("query");

Expand Down Expand Up @@ -250,18 +250,7 @@ async function getFiltersId(formation) {
}

// Fuse search
const search = await getSearch();
if (!search) {
return null;
}

const searchResult = search.search<{ id: string }>(
`${formation
.split(" ")
.map((f) => `${f}`)
.join(" ")}`
);
return searchResult.map((r) => r.item.id);
return await search(formation);
}

export async function getFormationsSQL(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { oleoduc, writeData, transformData } from "oleoduc";
import diacritics from "diacritics";
import { getLoggerWithContext } from "#src/common/logger.js";
import FormationRepository from "#src/common/repositories/formation";
import FormationEtablissementRepository from "#src/common/repositories/formationEtablissement";
Expand Down Expand Up @@ -43,8 +44,10 @@ export async function createSearchIndex(indexDir = config.formation.files.fuseIn
logger.info(`Ajout de ${formationEtablissement.id}`);
formations.push({
id: formationEtablissement.id,
libelle: formation.libelle,
libelles: uniq([formation.libelle, ...filteredFamilleMetier.map((f) => f.libelle)]),
libelle: diacritics.remove(formation.libelle),
libelles: uniq([formation.libelle, ...filteredFamilleMetier.map((f) => f.libelle)]).map((v) =>
diacritics.remove(v)
),
});
})
);
Expand Down Expand Up @@ -99,3 +102,19 @@ export async function getSearch(): Promise<Fuse<any>> {
}
return fuse;
}

export async function search(input: string): Promise<null | string[]> {
// Fuse search
const search = await getSearch();
if (!search) {
return null;
}

const searchResult = search.search<{ id: string }>(
`${input
.split(" ")
.map((f) => `${diacritics.remove(f)}`)
.join(" ")}`
);
return searchResult.map((r) => r.item.id);
}
5 changes: 5 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6477,6 +6477,11 @@ dezalgo@^1.0.0:
asap "^2.0.0"
wrappy "1"

[email protected]:
version "1.3.0"
resolved "https://registry.yarnpkg.com/diacritics/-/diacritics-1.3.0.tgz#3efa87323ebb863e6696cebb0082d48ff3d6f7a1"
integrity sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==

diff-sequences@^29.6.3:
version "29.6.3"
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921"
Expand Down

0 comments on commit 8835ca3

Please sign in to comment.