public class InputCheckingSearcher extends Searcher
Modifier and Type | Class and Description |
---|---|
private static class |
InputCheckingSearcher.Count |
Modifier and Type | Field and Description |
---|---|
private static Logger |
log |
private int |
MAX_REPEATED_CONSECUTIVE_TERMS_IN_PHRASE |
private int |
MAX_REPEATED_TERMS_IN_PHRASE |
private com.yahoo.metrics.simple.Counter |
repeatedConsecutiveTermsInPhraseRejections |
private com.yahoo.metrics.simple.Counter |
repeatedTermsInPhraseRejections |
private com.yahoo.metrics.simple.Counter |
utfRejections |
Constructor and Description |
---|
InputCheckingSearcher(com.yahoo.metrics.simple.MetricReceiver metrics) |
Modifier and Type | Method and Description |
---|---|
private void |
checkPhrases(Item queryItem) |
private void |
checkQuery(Query query) |
private int |
countSingleCharacterUserTerms(Item queryItem) |
private void |
doubleEncodedUtf8(Query query) |
private void |
repeatedConsecutiveTermsInPhraseCheck(PhraseItem phrase) |
private void |
repeatedTermsInPhraseCheck(PhraseItem phrase) |
Result |
search(Query query,
Execution execution)
Override this to implement your searcher.
|
ensureFilled, fill, getLogger, process, toString
getAnnotatedDependencies, getDefaultAnnotatedDependencies, getDependencies, initDependencies
private final com.yahoo.metrics.simple.Counter utfRejections
private final com.yahoo.metrics.simple.Counter repeatedConsecutiveTermsInPhraseRejections
private final com.yahoo.metrics.simple.Counter repeatedTermsInPhraseRejections
private static final Logger log
private final int MAX_REPEATED_CONSECUTIVE_TERMS_IN_PHRASE
private final int MAX_REPEATED_TERMS_IN_PHRASE
public InputCheckingSearcher(com.yahoo.metrics.simple.MetricReceiver metrics)
public Result search(Query query, Execution execution)
Searcher
Searcher implementation subclasses will, depending on their type of logic, do one of the following:
Hits come in two kinds - concrete hits are actual content of the kind requested by the user, meta hits are hits which provides information about the collection of hits, on the query, the service and so on.
The query specifies a window into a larger result list that must be returned from the searcher through hits and offset; Searchers which returns list of hits in the top level in the result must return at least hits number of hits (or if impossible; all that are available), starting at the given offset. In addition, searchers are allowed to return any number of meta hits (although this number is expected to be low). For hits contained in nested hit groups, the concept of a window defined by hits and offset is not well defined and does not apply.
Error handling in searchers:
private void checkQuery(Query query)
private void checkPhrases(Item queryItem)
private void repeatedConsecutiveTermsInPhraseCheck(PhraseItem phrase)
private void repeatedTermsInPhraseCheck(PhraseItem phrase)
private void doubleEncodedUtf8(Query query)
private int countSingleCharacterUserTerms(Item queryItem)
Copyright © 2018. All rights reserved.