diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/SearchFiltering.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/SearchFiltering.java index 9972081c3d..8748144048 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/SearchFiltering.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/search/controller/SearchFiltering.java @@ -1,6 +1,7 @@ package edu.cornell.mannlib.vitro.webapp.search.controller; import static edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary.ROLE_PUBLIC_URI; +import static edu.cornell.mannlib.vitro.webapp.search.controller.PagedSearchController.PARAM_QUERY_TEXT; import java.util.Arrays; import java.util.Collections; @@ -167,6 +168,9 @@ public class SearchFiltering { protected static void addFiltersToQuery(SearchQuery query, Map filters) { for (SearchFilter searchFilter : filters.values()) { + if (PARAM_QUERY_TEXT.equals(searchFilter.getId())){ + continue; + } if (searchFilter.isInput()) { SearchFiltering.addInputFilter(query, searchFilter); } else if (searchFilter.isRange()) { @@ -221,6 +225,12 @@ public static Map> getRequestFilters(VitroRequest vreq) { requestFilters.put(filterId, new LinkedList(Arrays.asList(values[0]))); } } + if (paramFilterName.equals(PARAM_QUERY_TEXT)) { + String[] values = vreq.getParameterValues(paramFilterName); + if (values != null && values.length > 0) { + requestFilters.put(PARAM_QUERY_TEXT, new LinkedList(Arrays.asList(values[0]))); + } + } } return requestFilters; } diff --git a/home/src/main/resources/rdf/display/firsttime/search_individuals_vitro.n3 b/home/src/main/resources/rdf/display/firsttime/search_individuals_vitro.n3 index 8c8767dc3c..71528da03b 100644 --- a/home/src/main/resources/rdf/display/firsttime/search_individuals_vitro.n3 +++ b/home/src/main/resources/rdf/display/firsttime/search_individuals_vitro.n3 @@ -4,7 +4,7 @@ @prefix rdfs: . :filter_group_search_filters a vitro-search:FilterGroup ; - vitro-search:contains :filter_category , :filter_type , :filter_querytext; + vitro-search:contains :filter_category , :filter_type ; vitro-search:id "main" ; vitro-search:order 1 ; vitro-search:public true . @@ -50,6 +50,7 @@ a vitro-search:Filter ; vitro-search:order 1 ; vitro-search:filterField :field_querytext ; + vitro-search:userInput true ; vitro-search:id "querytext" ; vitro-search:public true .