strus  0.17
Public Types | Public Member Functions | List of all members
strus::QueryProcessorInterface Class Referenceabstract

Defines all object instances involved in query evaluation addressable by name. More...

#include <queryProcessorInterface.hpp>

Public Types

enum  FunctionType { PostingJoinOperator, WeightingFunction, SummarizerFunction, ScalarFunctionParser }
 Function type for fetching the list of available functions. More...
 

Public Member Functions

virtual ~QueryProcessorInterface ()
 Destructor. More...
 
virtual std::string getResourceFilePath (const std::string &filename) const =0
 Get the absolute path of a resource file. More...
 
virtual void definePostingJoinOperator (const std::string &name, PostingJoinOperatorInterface *op)=0
 Define a new posting set join operation. More...
 
virtual const
PostingJoinOperatorInterface
getPostingJoinOperator (const std::string &name) const =0
 Get a join function reference defined by 'name'. More...
 
virtual void defineWeightingFunction (const std::string &name, WeightingFunctionInterface *func)=0
 Define a new weighting function. More...
 
virtual const
WeightingFunctionInterface
getWeightingFunction (const std::string &name) const =0
 Get a weighting function reference by name. More...
 
virtual void defineSummarizerFunction (const std::string &name, SummarizerFunctionInterface *sumfunc)=0
 Define a new summarization function. More...
 
virtual const
SummarizerFunctionInterface
getSummarizerFunction (const std::string &name) const =0
 Get a summarization function reference by name. More...
 
virtual std::vector< std::string > getFunctionList (const FunctionType &type) const =0
 Get a list of all functions of a specific type available. More...
 
virtual void defineScalarFunctionParser (const std::string &name, ScalarFunctionParserInterface *parser)=0
 Define a function parser for scalar functions used in weighting or summarization. More...
 
virtual const
ScalarFunctionParserInterface
getScalarFunctionParser (const std::string &name) const =0
 Get a scalar function parser reference by name. More...
 

Detailed Description

Defines all object instances involved in query evaluation addressable by name.

Member Enumeration Documentation

Function type for fetching the list of available functions.

Enumerator
PostingJoinOperator 

Addresses a posting iterator join operator.

WeightingFunction 

Addresses a weighting function.

SummarizerFunction 

Addresses a summarization function.

ScalarFunctionParser 

Addresses a parser for a language for arithmetic expression as string.

Constructor & Destructor Documentation

virtual strus::QueryProcessorInterface::~QueryProcessorInterface ( )
inlinevirtual

Destructor.

Member Function Documentation

virtual void strus::QueryProcessorInterface::definePostingJoinOperator ( const std::string &  name,
PostingJoinOperatorInterface op 
)
pure virtual

Define a new posting set join operation.

Parameters
[in]namethe name of the function
[in]opthe function reference (ownership passed to this)
virtual void strus::QueryProcessorInterface::defineScalarFunctionParser ( const std::string &  name,
ScalarFunctionParserInterface parser 
)
pure virtual

Define a function parser for scalar functions used in weighting or summarization.

Parameters
[in]namename of the scalar function language
[in]parserthe scalar function parser reference (ownership passed to this)
virtual void strus::QueryProcessorInterface::defineSummarizerFunction ( const std::string &  name,
SummarizerFunctionInterface sumfunc 
)
pure virtual

Define a new summarization function.

Parameters
[in]namename of the summarization function
[in]sumfuncthe summarization function object reference (ownership passed to this)
virtual void strus::QueryProcessorInterface::defineWeightingFunction ( const std::string &  name,
WeightingFunctionInterface func 
)
pure virtual

Define a new weighting function.

Parameters
[in]namethe name of the function
[in]functhe function to define (ownership passed to this)
virtual std::vector<std::string> strus::QueryProcessorInterface::getFunctionList ( const FunctionType type) const
pure virtual

Get a list of all functions of a specific type available.

Parameters
[in]typetype of the function
Returns
the list of function names
virtual const PostingJoinOperatorInterface* strus::QueryProcessorInterface::getPostingJoinOperator ( const std::string &  name) const
pure virtual

Get a join function reference defined by 'name'.

Parameters
[in]namename of the join function to get
Returns
the join function object reference
virtual std::string strus::QueryProcessorInterface::getResourceFilePath ( const std::string &  filename) const
pure virtual

Get the absolute path of a resource file.

Parameters
[in]filenamename of the resource file
virtual const ScalarFunctionParserInterface* strus::QueryProcessorInterface::getScalarFunctionParser ( const std::string &  name) const
pure virtual

Get a scalar function parser reference by name.

Parameters
[in]namename of the scalar function language or empty for the default scalar function language
Returns
the scalar function parser object reference
virtual const SummarizerFunctionInterface* strus::QueryProcessorInterface::getSummarizerFunction ( const std::string &  name) const
pure virtual

Get a summarization function reference by name.

Parameters
[in]namename of the summarization function
Returns
the summarization function object reference
virtual const WeightingFunctionInterface* strus::QueryProcessorInterface::getWeightingFunction ( const std::string &  name) const
pure virtual

Get a weighting function reference by name.

Parameters
[in]namename of the weighting function
Returns
the weighting function object reference

The documentation for this class was generated from the following file: