Files
Sourcetrail/src/lib/data/fulltextsearch/FullTextSearchIndex.h
T
Andreas Stallinger 6edcd77eb2 logic: fulltextsearch with suffixarray
* delete test.sqlite in storagetestsuite in desstructor
* remove new and delete from suffixarray
* case sensitive fts
* fixed fulltext results annotated like errors
* lazy suffix array building
* fulltextsearch folder added
* go back too branch without _publish
* suffixarray working
* logic: Improved code view performance
2016-06-07 08:49:34 +02:00

45 lines
786 B
C++

#ifndef FULLTEXTSEARCH_INDEX_H
#define FULLTEXTSEARCH_INDEX_H
#include <vector>
#include <unordered_map>
#include "data/fulltextsearch/SuffixArray.h"
#include "utility/types.h"
class StorageAccess;
// contains all fulltextsearch results of one file
struct FullTextSearchResult
{
Id fileId;
std::vector<int> positions;
};
struct FullTextSearchFile
{
FullTextSearchFile(Id fileId, SuffixArray array)
: fileId(fileId)
, array(array)
{
};
Id fileId;
SuffixArray array;
};
class FullTextSearchIndex
{
public:
void addFile(Id fileId, const std::string& file);
std::vector<FullTextSearchResult> searchForTerm(const std::string& term) const;
size_t fileCount() const;
void clear();
private:
std::vector<FullTextSearchFile> m_files;
};
#endif // FULLTEXTSEARCH_INDEX_H