diff --git a/src/main/java/edu/harvard/iq/dataverse/search/SolrSearchServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/search/SolrSearchServiceBean.java index 530d3f9ef7e..2fa3ded8c9b 100644 --- a/src/main/java/edu/harvard/iq/dataverse/search/SolrSearchServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/search/SolrSearchServiceBean.java @@ -1048,7 +1048,14 @@ private String getPermissionFilterQuery(DataverseRequest dataverseRequest, SolrQ for (Group group : groups) { String groupAlias = group.getAlias(); if (groupAlias != null && !groupAlias.isEmpty() && (!avoidJoin || !groupAlias.startsWith("builtIn"))) { - groupList.add(IndexServiceBean.getGroupPrefix() + groupAlias); + boolean skipThisGroup = false; + if (FeatureFlags.SKIP_NONEXPLICIT_GROUPS.enabled() && group.getGroupProvider() != null && !"explicit".equals(group.getGroupProvider().getGroupProviderAlias())) { + skipThisGroup = true; + logger.info("Skipping non-explicit group " + groupAlias); + } + if (!skipThisGroup) { + groupList.add(IndexServiceBean.getGroupPrefix() + groupAlias); + } } } diff --git a/src/main/java/edu/harvard/iq/dataverse/settings/FeatureFlags.java b/src/main/java/edu/harvard/iq/dataverse/settings/FeatureFlags.java index 2e86fae610e..790b427eaf4 100644 --- a/src/main/java/edu/harvard/iq/dataverse/settings/FeatureFlags.java +++ b/src/main/java/edu/harvard/iq/dataverse/settings/FeatureFlags.java @@ -120,6 +120,7 @@ public enum FeatureFlags { * @since Dataverse 6.3 */ ADD_PUBLICOBJECT_SOLR_FIELD("add-publicobject-solr-field"), + SKIP_NONEXPLICIT_GROUPS("skip-nonexplicit-groups"), /** * With this flag set, Dataverse will index the actual origin of harvested * metadata records, instead of the "Harvested" string in all cases.