Files
comaps/search/base/text_index/mem.cpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

35 lines
830 B
C++

#include "search/base/text_index/mem.hpp"
#include "base/stl_helpers.hpp"
using namespace std;
namespace search_base
{
void MemTextIndex::AddPosting(Token const & token, Posting const & posting)
{
m_postingsByToken[token].emplace_back(posting);
}
void MemTextIndex::SortPostings()
{
for (auto & entry : m_postingsByToken)
{
// A posting may occur several times in a document,
// so we remove duplicates for the docid index.
// If the count is needed for ranking it may be stored
// separately.
base::SortUnique(entry.second);
}
}
void MemTextIndex::BuildDictionary()
{
vector<Token> tokens;
tokens.reserve(m_postingsByToken.size());
for (auto const & entry : m_postingsByToken)
tokens.emplace_back(entry.first);
m_dictionary.SetTokens(std::move(tokens));
}
} // namespace search_base