Writing hook script code for specific search types
Managed by | Updated .
Background
By default hook scripts will run on all search requests including those run by content auditor and also extra searches. This article shows how to run hook script code only on the main search, or for specific types of extra searches.
Conditional code based on the search question type can be used to write hook script code that only affects the data model question and response for the specific searches.
Possible values for the question type are:
SEARCH
SEARCH_GET_ALL_RESULTS
EXTRA_SEARCH
CONTENT_AUDITOR
CONTENT_AUDITOR_DUPLICATES
ACCESSIBILITY_AUDITOR
ACCESSIBILITY_AUDITOR_ACKNOWLEDGEMENT_COUNTS
ACCESSIBILITY_AUDITOR_GET_ALL_RESULTS
FACETED_NAVIGATION_EXTRA_SEARCH
Examples
Run hook script code only for the main search (not for extra searches)
The following code block allows you to specify code that will only run only for the main search. The code should be added to the relevant hook script.
import com.funnelback.publicui.search.model.transaction.SearchQuestion.SearchQuestionType;
...
SearchQuestionType questionType = transaction.getQuestion().getQuestionType();
// Only run this code for the main search.
if (questionType.equals(SearchQuestionType.SEARCH)) {
// Whatever you want to do...
}
Run hook script code only for the content auditor extra search
The following code block allows you to specify code that will only run on the content auditor request. The code should be added to the relevant hook script.
import com.funnelback.publicui.search.model.transaction.SearchQuestion.SearchQuestionType;
...
SearchQuestionType questionType = transaction.getQuestion().getQuestionType();
// Only run this code for the CONTENT_AUDITOR extra search type.
if (questionType.equals(SearchQuestionType.CONTENT_AUDITOR)) {
// Whatever you want to do...
}
- Replace diacritic (accented) characters
- Accessing data model variables that start with a single lower case letter
- Adding numeric metadata constraints via a hook script
- Modifying geo-spatial parameters in the data model (origin, maxdist)
- Storing custom data within the data model
- Writing hook script code for specific search types