aboutsummaryrefslogtreecommitdiffstats
path: root/streamingvisitors/src/vespa/vsm/searcher/utf8strchrfieldsearcher.h
blob: cfe546bc6f6d4fd03e0c5da0467bc4de0c0395e0 (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
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once

#include "utf8stringfieldsearcherbase.h"

namespace vsm {

/**
 * This class does normal utf8 searches.
 * This class uses an highly optimized version of the tokenize method in fastlib.
 **/
class UTF8StrChrFieldSearcher : public UTF8StringFieldSearcherBase
{
public:
    std::unique_ptr<FieldSearcher> duplicate() const override;
    UTF8StrChrFieldSearcher()             : UTF8StringFieldSearcherBase() { }
    UTF8StrChrFieldSearcher(FieldIdT fId) : UTF8StringFieldSearcherBase(fId) { }

protected:
    size_t matchTerm(const FieldRef & f, search::streaming::QueryTerm & qt) override;
    size_t matchTerms(const FieldRef & f, const size_t shortestTerm) override;
};

}