diff --git a/internal/core/src/exec/expression/UnaryExpr.cpp b/internal/core/src/exec/expression/UnaryExpr.cpp index 743fc454cc..187b0782f4 100644 --- a/internal/core/src/exec/expression/UnaryExpr.cpp +++ b/internal/core/src/exec/expression/UnaryExpr.cpp @@ -510,7 +510,7 @@ PhyUnaryRangeFilterExpr::ExecArrayEqualForIndex(bool reverse) { }; } else { auto size_per_chunk = segment_->size_per_chunk(); - retrieve = [ size_per_chunk, this ](int64_t offset) -> auto{ + retrieve = [ size_per_chunk, this ](int64_t offset) -> auto { auto chunk_idx = offset / size_per_chunk; auto chunk_offset = offset % size_per_chunk; const auto& chunk = diff --git a/internal/core/src/index/TextMatchIndex.cpp b/internal/core/src/index/TextMatchIndex.cpp index 394bf78d58..5c64cd6937 100644 --- a/internal/core/src/index/TextMatchIndex.cpp +++ b/internal/core/src/index/TextMatchIndex.cpp @@ -101,7 +101,7 @@ TextMatchIndex::Upload(const Config& config) { auto remote_paths_to_size = disk_file_manager_->GetRemotePathsToFileSize(); auto binary_set = Serialize(config); - mem_file_manager_->AddFile(binary_set); + mem_file_manager_->AddTextLog(binary_set); auto remote_mem_path_to_size = mem_file_manager_->GetRemotePathsToFileSize(); diff --git a/internal/core/src/storage/MemFileManagerImpl.cpp b/internal/core/src/storage/MemFileManagerImpl.cpp index 7682ec87d6..3f21781bc4 100644 --- a/internal/core/src/storage/MemFileManagerImpl.cpp +++ b/internal/core/src/storage/MemFileManagerImpl.cpp @@ -39,7 +39,8 @@ MemFileManagerImpl::AddFile(const std::string& filename /* unused */) noexcept { } bool -MemFileManagerImpl::AddFile(const BinarySet& binary_set) { +MemFileManagerImpl::AddBinarySet(const BinarySet& binary_set, + const std::string& prefix) { std::vector data_slices; std::vector slice_sizes; std::vector slice_names; @@ -56,11 +57,8 @@ MemFileManagerImpl::AddFile(const BinarySet& binary_set) { } }; - auto remotePrefix = GetRemoteIndexObjectPrefix(); int64_t batch_size = 0; - for (auto iter = binary_set.binary_map_.begin(); - iter != binary_set.binary_map_.end(); - iter++) { + for (const auto& iter : binary_set.binary_map_) { if (batch_size >= DEFAULT_FIELD_MAX_MEMORY_LIMIT) { AddBatchIndexFiles(); data_slices.clear(); @@ -69,11 +67,11 @@ MemFileManagerImpl::AddFile(const BinarySet& binary_set) { batch_size = 0; } - data_slices.emplace_back(iter->second->data.get()); - slice_sizes.emplace_back(iter->second->size); - slice_names.emplace_back(remotePrefix + "/" + iter->first); - batch_size += iter->second->size; - added_total_mem_size_ += iter->second->size; + data_slices.emplace_back(iter.second->data.get()); + slice_sizes.emplace_back(iter.second->size); + slice_names.emplace_back(prefix + "/" + iter.first); + batch_size += iter.second->size; + added_total_mem_size_ += iter.second->size; } if (data_slices.size() > 0) { @@ -83,6 +81,16 @@ MemFileManagerImpl::AddFile(const BinarySet& binary_set) { return true; } +bool +MemFileManagerImpl::AddFile(const BinarySet& binary_set) { + return AddBinarySet(binary_set, GetRemoteIndexObjectPrefix()); +} + +bool +MemFileManagerImpl::AddTextLog(const BinarySet& binary_set) { + return AddBinarySet(binary_set, GetRemoteTextLogPrefix()); +} + bool MemFileManagerImpl::LoadFile(const std::string& filename) noexcept { return true; diff --git a/internal/core/src/storage/MemFileManagerImpl.h b/internal/core/src/storage/MemFileManagerImpl.h index 76d18d223b..13bd219ec3 100644 --- a/internal/core/src/storage/MemFileManagerImpl.h +++ b/internal/core/src/storage/MemFileManagerImpl.h @@ -60,6 +60,9 @@ class MemFileManagerImpl : public FileManagerImpl { bool AddFile(const BinarySet& binary_set); + bool + AddTextLog(const BinarySet& binary_set); + std::map GetRemotePathsToFileSize() const { return remote_paths_to_size_; @@ -73,6 +76,10 @@ class MemFileManagerImpl : public FileManagerImpl { std::unordered_map>> CacheOptFieldToMemory(OptFieldT& fields_map); + private: + bool + AddBinarySet(const BinarySet& binary_set, const std::string& prefix); + private: // remote file path std::map remote_paths_to_size_;