From 89d2aa2fd6b6345665c68b873cdff8b2e7fcb56d Mon Sep 17 00:00:00 2001 From: Birdmachine Date: Mon, 6 Nov 2023 10:10:47 -0500 Subject: [PATCH 1/2] Adjusts Search to reffer to a Colections Dataset fields for Group UUID information rather than the Collection itself --- src/src/constants.jsx | 19 ++++++++++--------- src/src/service/search_api.js | 10 ++++++++-- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/src/constants.jsx b/src/src/constants.jsx index 8b596a36..9c2e886a 100644 --- a/src/src/constants.jsx +++ b/src/src/constants.jsx @@ -207,20 +207,21 @@ export const EXCLUDE_USER_GROUPS = ["2cf25858-ed44-11e8-991d-0e368f3075e8", "577 // this is a list of fields for the keyword search. note: must ID fields need to use .keyword export const ES_SEARCHABLE_FIELDS = [ + "created_by_user_displayname", + "created_by_user_email", + "dataset_info", + "datasets.group_uuid", "description.keyword", - "hubmap_id.keyword", - "submission_id.keyword", "display_doi.keyword", - "lab_donor_id.keyword", "display_subtype.keyword", + "hubmap_id.keyword", + "lab_dataset_id.keyword", + "lab_donor_id.keyword", + "lab_donor_id.keyword", "lab_name.keyword", "lab_tissue_sample_id.keyword", - "lab_donor_id.keyword", - "lab_dataset_id.keyword", - "created_by_user_displayname", - "created_by_user_email", - "dataset_info" - ]; + "submission_id.keyword", +]; // this list is for wildcard searchable fields export const ES_SEARCHABLE_WILDCARDS = [ diff --git a/src/src/service/search_api.js b/src/src/service/search_api.js index 81b805ef..71505e1b 100644 --- a/src/src/service/search_api.js +++ b/src/src/service/search_api.js @@ -111,7 +111,7 @@ export function api_search2(params, auth, from, size, fields) { * */ export function search_api_filter_es_query_builder(fields, from, size, colFields) { - + console.debug('%c⊙', 'color:#00ff7b', "fields", fields); let requestBody = esb.requestBodySearch(); let boolQuery = ""; if (fields["keywords"] && fields["keywords"].indexOf("*") > -1) { // if keywords contain a wildcard @@ -128,7 +128,13 @@ export function search_api_filter_es_query_builder(fields, from, size, colFields if (fields["group_name"]) { boolQuery.must(esb.matchQuery("group_name.keyword", fields["group_name"])); } else if (fields["group_uuid"]) { - boolQuery.must(esb.matchQuery("group_uuid.keyword", fields["group_uuid"])); + // this'll be from the dropdown, + // if its a collection, we wanna search the datasets of it, not it itself + if (fields["entity_type"] === 'Collection') { + boolQuery.must(esb.matchQuery("datasets.group_uuid.keyword", fields["group_uuid"])); + } else { + boolQuery.must(esb.matchQuery("group_uuid.keyword", fields["group_uuid"])); + } } // was specimen types selected if (fields["sample_category"]) { From 2fa7a4a9e9d4189c3cb6d2305be7ed9c8b556b3a Mon Sep 17 00:00:00 2001 From: Birdmachine Date: Mon, 6 Nov 2023 12:04:40 -0500 Subject: [PATCH 2/2] fix dupe field --- src/src/constants.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/src/constants.jsx b/src/src/constants.jsx index 9c2e886a..0869036e 100644 --- a/src/src/constants.jsx +++ b/src/src/constants.jsx @@ -216,7 +216,6 @@ export const ES_SEARCHABLE_FIELDS = [ "display_subtype.keyword", "hubmap_id.keyword", "lab_dataset_id.keyword", - "lab_donor_id.keyword", "lab_donor_id.keyword", "lab_name.keyword", "lab_tissue_sample_id.keyword",