aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp')
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp b/searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp
index 177d8e612bd..cb198f4d33a 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp
+++ b/searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp
@@ -93,17 +93,20 @@ MemoryIndex::insertDocument(uint32_t docId, const document::Document &doc)
}
void
-MemoryIndex::removeDocument(uint32_t docId)
+MemoryIndex::removeDocuments(LidVector lids)
{
if (_frozen) {
- LOG(warning, "Memory index frozen: ignoring remove of document (%u)", docId);
+ LOG(warning, "Memory index frozen: ignoring remove of %lu documents", lids.size());
return;
}
- _inverter->removeDocument(docId);
- if (_indexedDocs.find(docId) != _indexedDocs.end()) {
- _indexedDocs.erase(docId);
- decNumDocs();
+ for (uint32_t lid : lids) {
+
+ if (_indexedDocs.find(lid) != _indexedDocs.end()) {
+ _indexedDocs.erase(lid);
+ decNumDocs();
+ }
}
+ _inverter->removeDocuments(std::move(lids));
}
void