Skip to content

Retrieval Operator Overview

Loris Sauter edited this page Jul 4, 2024 · 2 revisions

The retrieval pipeline (aka query) consists of query operators, which this page gives an overview of.

We provide the important information of the operators, such as factory classes and properties.

Retrievers

A RETRIEVER typed query operator is based on an analyser.

See Analyser Overview for more information.

Operator Properties:

Property Description
input The name of the input data, see Query Input Data for further information.
fieldName The name of the field which should be used for retrieval. See below for sub-fields

Simple Boolean Retrieval on Sub-Fields

Be aware that vitrivr-engine uses the dot (.) notation to address a sub-field (which are present on StructDescriptor based analysers). The semantics then are that the fieldName property is used similar to field.sub-field, where the sub-field is targeted by the simple Boolean query.

Transformers

A TRANSFORMEr typed query operator transforms the incoming retrievables in one way or another. Must not necessarily be a one-to-one mapping.

Operator Properties:

Property Description
transformerName The name of the transformer to use (its factory class' name)
inputs The name of the incoming query operation stage.

FieldLookup

Factory Class: FieldLookup

The FieldLookup operator performs a lookup on the field and attaches the result as an attribute to the retreivable on success.

Local Ingestion Context Properties:

Property Description
field The field from which to look the data up.
keys A comma-separated list of sub-field names (i.e. the keys to the values or the column names).

RelationshipExpander

Factory Class: RelationshipExpander

The RelationshipExpander operator expands the retrievables relationships and attaches them as the relations attribute.

Local Ingestion Context Properties:

Property Description
incoming The name of the incoming relation to resolve, or empty if no incoming should be resolved.
outgoing The name of the outgoing relation to resolve, or empty if no outgoing should be resolved.

RelationshipResolver

Factory Class: RelationshipResolver

The RelationshipResolver operator resolves (adds to the set of retrievables) the retrievables' previously expanded relationships.

Local Ingestion Context Properties:

Property Description
predicate The name of the relationship to resolve on.

Aggregators

An AGGREGATOR typed query operator is a special kind of operator, aggregating multiple inputs.

Operator Properties:

Property Description
aggregatorName The name of the aggregator to use (its factory class' name)
inputs The names of input operation stages.

WeightedScoreFusion

Factory Class: WeightedScoreFusion

The WeightedScoreFusion operator aggregates on the weithed scores and fuses the results.

Local Ingestion Context Properties:

Property Description
limit The max. number of results.