@@ -156,9 +156,13 @@ public SolrQueryResponse search(
156156 if (settingsService .isTrueForKey (SettingsServiceBean .Key .SolrFullTextIndexing , false )) {
157157 query = SearchUtil .expandQuery (query , isPublicOnly (permissionFilterGroups ), isAllGroups (permissionFilterGroups ), avoidJoin );
158158 logger .fine ("Sanitized, Expanded Query: " + query );
159- String q1Query = buildPermissionGroupQuery (avoidJoin , SearchFields . FULL_TEXT_SEARCHABLE_BY , permissionFilterGroups );
159+ String q1Query = buildPermissionGroupQuery (permissionFilterGroups );
160160 solrQuery .add ("q1" , q1Query );
161161 logger .fine ("q1: " + q1Query );
162+ //Sanity check: if the query contains $q1 but no q1 query, log a warning.
163+ if (query .contains ("$q1" ) && StringUtils .isBlank (q1Query )) {
164+ logger .warning ("Query contains $q1 but no q1 query: " + query );
165+ }
162166 }
163167
164168 solrQuery .setQuery (query );
@@ -1008,9 +1012,14 @@ public QueryResponse simpleSearch(DataverseRequest dataverseRequest, String retu
10081012 if (settingsService .isTrueForKey (SettingsServiceBean .Key .SolrFullTextIndexing , false )) {
10091013 query = SearchUtil .expandQuery (query , isPublicOnly (permissionFilterGroups ), isAllGroups (permissionFilterGroups ), avoidJoin );
10101014 logger .fine ("Sanitized, Expanded Query: " + query );
1011- String finalQ1Query = buildPermissionGroupQuery (avoidJoin , SearchFields . FULL_TEXT_SEARCHABLE_BY , permissionFilterGroups );
1015+ String finalQ1Query = buildPermissionGroupQuery (permissionFilterGroups );
10121016 solrQuery .add ("q1" , finalQ1Query );
10131017 logger .fine ("q1: " + finalQ1Query );
1018+ //Sanity check: if the query contains $q1 but no q1 query, log a warning.
1019+ if (query .contains ("$q1" ) && StringUtils .isBlank (finalQ1Query )) {
1020+ logger .warning ("Simple search: Query contains $q1 but no q1 query: " + query );
1021+ }
1022+
10141023 }
10151024
10161025 solrQuery .setQuery (query );
@@ -1221,16 +1230,9 @@ private String buildPermissionFilterQuery(boolean avoidJoin, String permissionFi
12211230 return query ;
12221231 }
12231232
1224- private String buildPermissionGroupQuery (boolean avoidJoin , String fullTextSearchableBy , String permissionFilterGroups ) {
1225- StringBuilder q1Query = new StringBuilder ();
1226- if (avoidJoin && !isAllGroups (permissionFilterGroups )) {
1227- q1Query .append (SearchFields .PUBLIC_OBJECT + ":" + true );
1228- }
1233+ private String buildPermissionGroupQuery (String permissionFilterGroups ) {
12291234 if (permissionFilterGroups != null && !isAllGroups (permissionFilterGroups )) {
1230- if (!q1Query .isEmpty ()) {
1231- q1Query .append (" OR " );
1232- }
1233- q1Query .append (SearchFields .FULL_TEXT_SEARCHABLE_BY + ":" + permissionFilterGroups );
1235+ return SearchFields .FULL_TEXT_SEARCHABLE_BY + ":" + permissionFilterGroups ;
12341236 }
12351237 return q1Query .toString ();
12361238 }
0 commit comments