From 7f3a6ae47b3e9f7204e3e314d746f1b16661cbf4 Mon Sep 17 00:00:00 2001 From: Gio Date: Tue, 26 Mar 2024 21:18:31 -0500 Subject: search: add groups, flashes --- src/search.js | 25 +++++++++++++++++++++++++ src/util/searchSchema.js | 10 ++++++++++ 2 files changed, 35 insertions(+) (limited to 'src') diff --git a/src/search.js b/src/search.js index b83bb0e0..2f7718fd 100644 --- a/src/search.js +++ b/src/search.js @@ -86,6 +86,31 @@ async function populateSearchIndexes(indexes, wikiData) { }) ); + // Groups + readCollectionIntoIndex( + wikiData.groupData, + indexes.groups, + group => ({ + names: group.name, + description: group.description, + // category: group.category + }) + ); + + // Flashes + readCollectionIntoIndex( + wikiData.flashData, + indexes.flashes, + flash => ({ + name: flash.name, + tracks: flash.featuredTracks.map(track => track.name), + contributors: [ + flash.contributorContribs.map(contrib => contrib.artist.name), + ...flash.contributorContribs.map(contrib => contrib.artist.aliasNames) + ].flat() + }) + ); +} async function exportIndexesToJson(indexes) { const searchData = {}; diff --git a/src/util/searchSchema.js b/src/util/searchSchema.js index a4604dd4..ce0e7a84 100644 --- a/src/util/searchSchema.js +++ b/src/util/searchSchema.js @@ -16,6 +16,16 @@ export function makeSearchIndexes(FlexSearch) { id: "reference", index: ["names"], }), + + groups: new FlexSearch.Document({ + id: "reference", + index: ["name", "description", "category"], + }), + + flashes: new FlexSearch.Document({ + id: "reference", + index: ["name", "tracks", "contributors"], + }), }; return indexes; -- cgit 1.3.0-6-gf8a5