Exemplo n.º 1
0
void DumpSearchTokens(string const & fPath, size_t maxTokensToShow)
{
    using TValue = FeatureIndexValue;

    FilesContainerR container(make_unique<FileReader>(fPath));
    feature::DataHeader header(container);
    serial::CodingParams codingParams(trie::GetCodingParams(header.GetDefCodingParams()));

    auto const trieRoot = trie::ReadTrie<ModelReaderPtr, ValueList<TValue>>(
                              container.GetReader(SEARCH_INDEX_FILE_TAG), SingleValueSerializer<TValue>(codingParams));

    SearchTokensCollector<TValue> f;
    trie::ForEachRef(*trieRoot, f, strings::UniString());
    f.Finish();

    for (size_t i = 0; i < min(maxTokensToShow, f.m_tokens.size()); ++i)
    {
        auto const & s = f.m_tokens[i].second;
        cout << f.m_tokens[i].first << " " << strings::ToUtf8(s) << endl;
    }
}
Exemplo n.º 2
0
  void DumpSearchTokens(string const & fPath)
  {
    FilesContainerR container(new FileReader(fPath));
    feature::DataHeader header(container);
    serial::CodingParams cp(trie::GetCodingParams(header.GetDefCodingParams()));

    unique_ptr<trie::DefaultIterator> const pTrieRoot(
        trie::ReadTrie(container.GetReader(SEARCH_INDEX_FILE_TAG), trie::ValueReader(cp),
                       trie::TEdgeValueReader()));

    SearchTokensCollector f;
    trie::ForEachRef(*pTrieRoot, f, strings::UniString());
    f.Finish();

    while (!f.tokens.empty())
    {
      strings::UniString const & s = f.tokens.top().second;
      cout << f.tokens.top().first << " '" << strings::ToUtf8(s) << "'" << endl;
      f.tokens.pop();
    }
  }