diff options
Diffstat (limited to 'searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp')
-rw-r--r-- | searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp | 15 |
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 |