From 732ba0300a2eba3f9cbe821d8535ed3152b3f46f Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Thu, 24 Jun 2021 08:08:53 +0000 Subject: Various cleanup after reading indexing threading code --- .../searchlib/memoryindex/document_inverter.cpp | 39 ++++++++++------------ .../searchlib/memoryindex/document_inverter.h | 9 ++--- .../src/vespa/searchlib/memoryindex/memory_index.h | 1 - 3 files changed, 20 insertions(+), 29 deletions(-) (limited to 'searchlib/src') diff --git a/searchlib/src/vespa/searchlib/memoryindex/document_inverter.cpp b/searchlib/src/vespa/searchlib/memoryindex/document_inverter.cpp index 03a8759c1db..a51b18e3640 100644 --- a/searchlib/src/vespa/searchlib/memoryindex/document_inverter.cpp +++ b/searchlib/src/vespa/searchlib/memoryindex/document_inverter.cpp @@ -9,10 +9,7 @@ #include #include #include -#include #include -#include -#include #include #include @@ -85,8 +82,7 @@ DocumentInverter::~DocumentInverter() } void -DocumentInverter::addFieldPath(const document::DocumentType &docType, - uint32_t fieldId) +DocumentInverter::addFieldPath(const document::DocumentType &docType, uint32_t fieldId) { assert(fieldId < _indexedFieldPaths.size()); std::unique_ptr fp; @@ -133,9 +129,9 @@ DocumentInverter::invertDocument(uint32_t docId, const Document &doc) fv = doc.getValue(*fieldPath); } FieldInverter *inverter = _inverters[fieldId].get(); - _invertThreads.execute(fieldId, - [inverter, docId, fv(std::move(fv))]() - { inverter->invertField(docId, fv); }); + _invertThreads.execute(fieldId,[inverter, docId, fv(std::move(fv))]() { + inverter->invertField(docId, fv); + }); } uint32_t urlId = 0; for (const auto & fi : _schemaIndexFields._uriFields) { @@ -148,9 +144,9 @@ DocumentInverter::invertDocument(uint32_t docId, const Document &doc) fv = doc.getValue(*fieldPath); } UrlFieldInverter *inverter = _urlInverters[urlId].get(); - _invertThreads.execute(fieldId, - [inverter, docId, fv(std::move(fv))]() - { inverter->invertField(docId, fv); }); + _invertThreads.execute(fieldId,[inverter, docId, fv(std::move(fv))]() { + inverter->invertField(docId, fv); + }); ++urlId; } } @@ -160,17 +156,17 @@ DocumentInverter::removeDocument(uint32_t docId) { for (uint32_t fieldId : _schemaIndexFields._textFields) { FieldInverter *inverter = _inverters[fieldId].get(); - _invertThreads.execute(fieldId, - [inverter, docId]() - { inverter->removeDocument(docId); }); + _invertThreads.execute(fieldId, [inverter, docId]() { + inverter->removeDocument(docId); + }); } uint32_t urlId = 0; for (const auto & fi : _schemaIndexFields._uriFields) { uint32_t fieldId = fi._all; UrlFieldInverter *inverter = _urlInverters[urlId].get(); - _invertThreads.execute(fieldId, - [inverter, docId]() - { inverter->removeDocument(docId); }); + _invertThreads.execute(fieldId,[inverter, docId]() { + inverter->removeDocument(docId); + }); ++urlId; } } @@ -180,11 +176,10 @@ DocumentInverter::pushDocuments(const std::shared_ptrapplyRemoves(); - inverter->pushDocuments(); }); + _pushThreads.execute(fieldId,[inverter(inverter.get()), onWriteDone]() { + inverter->applyRemoves(); + inverter->pushDocuments(); + }); ++fieldId; } } diff --git a/searchlib/src/vespa/searchlib/memoryindex/document_inverter.h b/searchlib/src/vespa/searchlib/memoryindex/document_inverter.h index cab833704e6..a1325b7d51d 100644 --- a/searchlib/src/vespa/searchlib/memoryindex/document_inverter.h +++ b/searchlib/src/vespa/searchlib/memoryindex/document_inverter.h @@ -39,15 +39,12 @@ private: void addFieldPath(const document::DocumentType &docType, uint32_t fieldId); void buildFieldPath(const document::DocumentType & docType, const document::DataType *dataType); - void invertNormalDocTextField(size_t fieldId, const document::FieldValue &field); - void invertNormalDocUriField(const index::UriField &handle, const document::FieldValue &field); using FieldPath = document::Field; using IndexedFieldPaths = std::vector>; - IndexedFieldPaths _indexedFieldPaths; - const document::DataType * _dataType; - - index::SchemaIndexFields _schemaIndexFields; + IndexedFieldPaths _indexedFieldPaths; + const document::DataType * _dataType; + index::SchemaIndexFields _schemaIndexFields; std::vector> _inverters; std::vector> _urlInverters; diff --git a/searchlib/src/vespa/searchlib/memoryindex/memory_index.h b/searchlib/src/vespa/searchlib/memoryindex/memory_index.h index 90d1cd7bb37..47275043bee 100644 --- a/searchlib/src/vespa/searchlib/memoryindex/memory_index.h +++ b/searchlib/src/vespa/searchlib/memoryindex/memory_index.h @@ -62,7 +62,6 @@ private: MemoryIndex &operator=(const MemoryIndex &) = delete; MemoryIndex &operator=(MemoryIndex &&) = delete; - void removeDocumentHelper(uint32_t docId, const document::Document &doc); void updateMaxDocId(uint32_t docId) { if (docId > _maxDocId) { _maxDocId = docId; -- cgit v1.2.3