aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa/searchlib/queryeval/equivsearch.h
blob: 0154ab4fe1d8ef46c7656c3db6d3996985dfbeea (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#pragma once

#include "orlikesearch.h"
#include <vespa/searchlib/fef/matchdata.h>
#include <vespa/searchlib/fef/termfieldmatchdata.h>
#include <vespa/searchlib/fef/termfieldmatchdataarray.h>
#include <vespa/searchlib/fef/termmatchdatamerger.h>

namespace search::queryeval {

/**
 * A simple implementation of the Equiv search operation.
 **/
class EquivSearch : public SearchIterator
{
public:
    using Children = MultiSearch::Children;

    static SearchIterator::UP
    create(Children children,
           fef::MatchData::UP inputMD,
           const fef::TermMatchDataMerger::Inputs &inputs,
           const fef::TermFieldMatchDataArray &outputs,
           bool strict);
};

}