diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-05-14 22:34:14 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-05-14 22:37:28 +0000 |
commit | 1d91705a855508c6369b7fd6792eb93386d9bc92 (patch) | |
tree | 912b02e614bc9889ea3543893cbeb699971e8156 /streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.h | |
parent | 5914c04edb130b689cf3d6c18fb606a63f90974b (diff) |
Collapse vsm into streamingvisitors
Diffstat (limited to 'streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.h')
-rw-r--r-- | streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.h b/streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.h new file mode 100644 index 00000000000..900ab4c9120 --- /dev/null +++ b/streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.h @@ -0,0 +1,26 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +#pragma once + +#include "utf8strchrfieldsearcher.h" + +namespace vsm { + +class FUTF8StrChrFieldSearcher : public UTF8StrChrFieldSearcher +{ +public: + std::unique_ptr<FieldSearcher> duplicate() const override; + FUTF8StrChrFieldSearcher(); + FUTF8StrChrFieldSearcher(FieldIdT fId); + ~FUTF8StrChrFieldSearcher(); + static bool ansiFold(const char * toFold, size_t sz, char * folded); + static bool lfoldaa(const char * toFold, size_t sz, char * folded, size_t & unalignedStart); + static bool lfoldua(const char * toFold, size_t sz, char * folded, size_t & alignedStart); + private: + size_t matchTerm(const FieldRef & f, search::streaming::QueryTerm & qt) override; + size_t matchTerms(const FieldRef&, const size_t shortestTerm) override; + virtual size_t match(const char *folded, size_t sz, search::streaming::QueryTerm & qt); + size_t match(const char *folded, size_t sz, size_t mintsz, search::streaming::QueryTerm ** qtl, size_t qtlSize); + std::vector<char> _folded; +}; + +} |