hardcodes search facets (#852)

* hardcodes search facets

* disable search

* Uncomment

---------

Co-authored-by: Jai A <jaiagr+gpg@pm.me>
Co-authored-by: Geometrically <18202329+Geometrically@users.noreply.github.com>
This commit is contained in:
Wyatt Verchere
2024-01-13 14:42:45 -08:00
committed by GitHub
parent 0aebf37ef8
commit 4826289020

View File

@@ -330,39 +330,39 @@ async fn update_and_add_to_index(
client: &Client, client: &Client,
index: &Index, index: &Index,
projects: &[UploadSearchProject], projects: &[UploadSearchProject],
additional_fields: &[String], _additional_fields: &[String],
) -> Result<(), IndexingError> { ) -> Result<(), IndexingError> {
// TODO: Uncomment this- hardcoding loader_fields is a band-aid fix, and will be fixed soon // TODO: Uncomment this- hardcoding loader_fields is a band-aid fix, and will be fixed soon
let mut new_filterable_attributes: Vec<String> = index.get_filterable_attributes().await?; // let mut new_filterable_attributes: Vec<String> = index.get_filterable_attributes().await?;
let mut new_displayed_attributes = index.get_displayed_attributes().await?; // let mut new_displayed_attributes = index.get_displayed_attributes().await?;
// Check if any 'additional_fields' are not already in the index // // Check if any 'additional_fields' are not already in the index
// Only add if they are not already in the index // // Only add if they are not already in the index
let new_fields = additional_fields // let new_fields = additional_fields
.iter() // .iter()
.filter(|x| !new_filterable_attributes.contains(x)) // .filter(|x| !new_filterable_attributes.contains(x))
.collect::<Vec<_>>(); // .collect::<Vec<_>>();
if !new_fields.is_empty() { // if !new_fields.is_empty() {
info!("Adding new fields to index: {:?}", new_fields); // info!("Adding new fields to index: {:?}", new_fields);
new_filterable_attributes.extend(new_fields.iter().map(|s: &&String| s.to_string())); // new_filterable_attributes.extend(new_fields.iter().map(|s: &&String| s.to_string()));
new_displayed_attributes.extend(new_fields.iter().map(|s| s.to_string())); // new_displayed_attributes.extend(new_fields.iter().map(|s| s.to_string()));
// Adds new fields to the index // // Adds new fields to the index
let filterable_task = index // let filterable_task = index
.set_filterable_attributes(new_filterable_attributes) // .set_filterable_attributes(new_filterable_attributes)
.await?; // .await?;
let displayable_task = index // let displayable_task = index
.set_displayed_attributes(new_displayed_attributes) // .set_displayed_attributes(new_displayed_attributes)
.await?; // .await?;
// Allow a long timeout for adding new attributes- it only needs to happen the once // // Allow a long timeout for adding new attributes- it only needs to happen the once
filterable_task // filterable_task
.wait_for_completion(client, None, Some(TIMEOUT * 100)) // .wait_for_completion(client, None, Some(TIMEOUT * 100))
.await?; // .await?;
displayable_task // displayable_task
.wait_for_completion(client, None, Some(TIMEOUT * 100)) // .wait_for_completion(client, None, Some(TIMEOUT * 100))
.await?; // .await?;
} // }
info!("Adding to index."); info!("Adding to index.");
@@ -423,6 +423,14 @@ const DEFAULT_DISPLAYED_ATTRIBUTES: &[&str] = &[
"gallery", "gallery",
"featured_gallery", "featured_gallery",
"color", "color",
// Note: loader fields are not here, but are added on as they are needed (so they can be dynamically added depending on which exist).
// TODO: remove these- as they should be automatically populated. This is a band-aid fix.
"server_only",
"client_only",
"game_versions",
"singleplayer",
"client_and_server",
"mrpack_loaders",
// V2 legacy fields for logical consistency // V2 legacy fields for logical consistency
"client_side", "client_side",
"server_side", "server_side",
@@ -461,6 +469,14 @@ const DEFAULT_ATTRIBUTES_FOR_FACETING: &[&str] = &[
"project_id", "project_id",
"open_source", "open_source",
"color", "color",
// Note: loader fields are not here, but are added on as they are needed (so they can be dynamically added depending on which exist).
// TODO: remove these- as they should be automatically populated. This is a band-aid fix.
"server_only",
"client_only",
"game_versions",
"singleplayer",
"client_and_server",
"mrpack_loaders",
// V2 legacy fields for logical consistency // V2 legacy fields for logical consistency
"client_side", "client_side",
"server_side", "server_side",