diff options
author | vng <viktor.govako@gmail.com> | 2015-07-16 14:31:31 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:57:12 +0300 |
commit | 8fdd97d52366659ec16cf4d4edf3ab98f96b0874 (patch) | |
tree | 1381c0061d93b5ee60b658df1659f3fa265312d0 /indexer/search_index_builder.cpp | |
parent | 0dc6675aa5d9cc8e19f1ec02a927eae826d97944 (diff) |
Minor refactoring to store feature’s offsets table once for every cache value in mwm set.
Diffstat (limited to 'indexer/search_index_builder.cpp')
-rw-r--r-- | indexer/search_index_builder.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/indexer/search_index_builder.cpp b/indexer/search_index_builder.cpp index 50afaf92e8..b4d2b5a110 100644 --- a/indexer/search_index_builder.cpp +++ b/indexer/search_index_builder.cpp @@ -365,9 +365,8 @@ void AddFeatureNameIndexPairs(FilesContainerR const & container, CategoriesHolder & categoriesHolder, StringsFile<FeatureIndexValue> & stringsFile) { - feature::DataHeader header; - header.Load(container.GetReader(HEADER_FILE_TAG)); - FeaturesVector features(container, header); + FeaturesVectorTest featuresV(container); + feature::DataHeader const & header = featuresV.GetHeader(); ValueBuilder<FeatureIndexValue> valueBuilder; @@ -375,19 +374,16 @@ void AddFeatureNameIndexPairs(FilesContainerR const & container, if (header.GetType() == feature::DataHeader::world) synonyms.reset(new SynonymsHolder(GetPlatform().WritablePathForFile(SYNONYMS_FILE))); - FeatureInserter<StringsFile<FeatureIndexValue>> inserter( - synonyms.get(), stringsFile, categoriesHolder, header.GetScaleRange(), valueBuilder); - - features.ForEach(inserter); + featuresV.GetVector().ForEach(FeatureInserter<StringsFile<FeatureIndexValue>>( + synonyms.get(), stringsFile, categoriesHolder, header.GetScaleRange(), valueBuilder)); } void BuildSearchIndex(FilesContainerR const & cont, CategoriesHolder const & catHolder, Writer & writer, string const & tmpFilePath) { { - feature::DataHeader header; - header.Load(cont.GetReader(HEADER_FILE_TAG)); - FeaturesVector featuresV(cont, header); + FeaturesVectorTest featuresV(cont); + feature::DataHeader const & header = featuresV.GetHeader(); serial::CodingParams cp(search::GetCPForTrie(header.GetDefCodingParams())); ValueBuilder<SerializedFeatureInfoValue> valueBuilder(cp); @@ -398,7 +394,7 @@ void BuildSearchIndex(FilesContainerR const & cont, CategoriesHolder const & cat StringsFile<SerializedFeatureInfoValue> names(tmpFilePath); - featuresV.ForEach(FeatureInserter<StringsFile<SerializedFeatureInfoValue>>( + featuresV.GetVector().ForEach(FeatureInserter<StringsFile<SerializedFeatureInfoValue>>( synonyms.get(), names, catHolder, header.GetScaleRange(), valueBuilder)); names.EndAdding(); |