Skip to content

Commit

Permalink
re-enable searching by vernacular names
Browse files Browse the repository at this point in the history
  • Loading branch information
Goran Sterjov committed Jan 31, 2024
1 parent e747f5e commit 1a7a91b
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 10 deletions.
13 changes: 11 additions & 2 deletions core/migrations/00000000003005_create_species_view/up.sql
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ SELECT
summaries.specimens,
summaries.other,
summaries.total_genomic,
name_attributes.traits
name_attributes.traits,
vernacular_names.names AS vernacular_names
FROM taxa
JOIN (
SELECT
Expand Down Expand Up @@ -41,4 +42,12 @@ LEFT JOIN (
FROM name_attributes
JOIN taxon_names ON taxon_names.name_id = name_attributes.name_id
GROUP BY taxon_id
) name_attributes ON taxa.id = name_attributes.taxon_id;
) name_attributes ON taxa.id = name_attributes.taxon_id
LEFT JOIN (
SELECT
taxon_id,
array_agg(vernacular_name) as names
FROM vernacular_names
JOIN taxon_names ON taxon_names.name_id = vernacular_names.name_id
GROUP BY taxon_id
) vernacular_names ON taxa.id = vernacular_names.taxon_id;
1 change: 1 addition & 0 deletions core/src/models.rs
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,7 @@ pub struct Species {
pub total_genomic: i64,

pub traits: Option<Vec<String>>,
pub vernacular_names: Option<Vec<String>>,
}

#[derive(Debug, Serialize, Deserialize, Default)]
Expand Down
1 change: 1 addition & 0 deletions core/src/schema_gnl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ diesel::table! {
other -> BigInt,
total_genomic -> BigInt,
traits -> Nullable<Array<Varchar>>,
vernacular_names -> Nullable<Array<Varchar>>,
}
}

Expand Down
10 changes: 5 additions & 5 deletions tasks/src/search/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,11 @@ fn index_names(schema: &Schema, index: &Index) -> Result<(), Error> {
// doc.add_text(synonyms, name);
// }
// }
// if let Some(names) = &species.vernacular_names {
// for name in names {
// doc.add_text(common_names, name);
// }
// }
if let Some(names) = &species.vernacular_names {
for name in names {
doc.add_text(common_names, name);
}
}

if let Some(value) = &species.kingdom { doc.add_text(kingdom, value); }
if let Some(value) = &species.phylum { doc.add_text(phylum, value); }
Expand Down
5 changes: 2 additions & 3 deletions tasks/src/search/taxon.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ pub struct SpeciesDoc {
pub canonical_name: String,
// pub subspecies: Option<Vec<String>>,
// pub synonyms: Option<Vec<String>>,
// pub vernacular_names: Option<Vec<String>>,
pub vernacular_names: Option<Vec<String>>,

pub kingdom: Option<String>,
pub phylum: Option<String>,
Expand All @@ -50,15 +50,14 @@ pub fn get_species(pool: &PgPool) -> Result<Vec<SpeciesDoc>, Error> {

let docs = species::table
// .left_join(synonyms::table)
// .left_join(common_names::table)
.select((
species::id,
species::status,

species::canonical_name,
// species::subspecies,
// synonyms::names.nullable(),
// common_names::names.nullable(),
species::vernacular_names,

sql::<Nullable<Varchar>>("classification->>'kingdom'"),
sql::<Nullable<Varchar>>("classification->>'phylum'"),
Expand Down

0 comments on commit 1a7a91b

Please sign in to comment.