`SELECT ... WHERE match(key, '^prefix...')`
should use index similarly to
`SELECT ... WHERE key LIKE 'prefix%'`
bool isDeterministicInScopeOfQuery() const override { return func->isDeterministicInScopeOfQuery(); }
    bool hasInformationAboutMonotonicity() const override { return func->hasInformationAboutMonotonicity(); }
    bool isSuitableForShortCircuitArgumentsExecution(const DataTypesWithConstInfo & arguments) const override { return func->isSuitableForShortCircuitArgumentsExecution(arguments); }
    IFunctionBase::Monotonicity getMonotonicityForRange(const IDataType & type, const Field & left, const Field & right) const override
    {
        return func->getMonotonicityForRange(type, left, right);
    }
    Kind getKind() const { return kind; }