Removing input parameters for extra searches
Background
There are some occasions where it is necessary to add metadata CGI parameters to a search that has extra searches enabled. These input parameters will be added to the extra search query automatically and can negatively impact the results returned in the extra search.
Implementation steps
The following code can be used to remove all metadata input parameters that an extra search inherits via the extra searches hook script.
-
Create a
hook_extra_searches.groovy
script on the collection that is being queried. This can be done using the file manager for the collection. -
Loop through the
inputParameterMap
and remove each key found that matchesmeta_
.
Example
hook_extra_searches.groovy
// Change "extra-search-name" to your extra search.
if ( transaction.extraSearchesQuestions["extra-search-name"] != null ) {
def searchQuestion = transaction.extraSearchesQuestions["extra-search-name"]
//remove all meta CGI parameters set on the main search
searchQuestion.inputParameterMap.each{ k, v ->
if (k.startsWith("meta_")){
searchQuestion.inputParameterMap.remove(k);
}
}
}