Query Processing#

Query Processing steps help to better understand natural language queries and therefore improve the overall search experience.

Have a look at the Query Processing Workflow User Guide to see how those steps are used together with the Squirro Search Bar.

For information on how to create custom steps as a python engineer, see How to Create Custom Query-Processing Steps.

Classes#

CustomSpacyNormalizer(config)

Override Spacy Tokenizer to NOT split tokens by / or - characters.

IntentDetector(config)

Do intent detection

LanguageDetection(config)

Perform language detection on document.

LemmaExpander(config)

Keep track of lemmatised version of relevant terms.

POSBooster(config)

Perform term level boosting and cleaning based on detected POS tags.

QueryClassifier(config)

Step that uses ONNX model to infer the type of the query.

QueryModifier(config)

Modify raw query using metadata collected from prior steps.

QuerySyntaxParser(config)

Parse query to separate User-Query-Terms from filter tokens.

QueryZeroShotClassifier(config)

Classify query into predefined classes using zero-shot-classification.

SemanticTermExpander(config)

Find and add synonyms dynamically via (domain-specific) language models.