diff options
Diffstat (limited to 'searchlib/src/vespa/searchlib/memoryindex/document_inverter_context.h')
-rw-r--r-- | searchlib/src/vespa/searchlib/memoryindex/document_inverter_context.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/searchlib/src/vespa/searchlib/memoryindex/document_inverter_context.h b/searchlib/src/vespa/searchlib/memoryindex/document_inverter_context.h index 7330f4376ea..54a1fff90a4 100644 --- a/searchlib/src/vespa/searchlib/memoryindex/document_inverter_context.h +++ b/searchlib/src/vespa/searchlib/memoryindex/document_inverter_context.h @@ -3,6 +3,8 @@ #pragma once #include <vespa/searchlib/index/schema_index_fields.h> +#include "invert_context.h" +#include "push_context.h" #include <memory> #include <vector> @@ -14,8 +16,6 @@ class Field; class FieldValue; } -namespace vespalib { class ISequencedTaskExecutor; } - namespace search::memoryindex { class IFieldIndexCollection; @@ -33,8 +33,11 @@ class DocumentInverterContext { vespalib::ISequencedTaskExecutor& _invert_threads; vespalib::ISequencedTaskExecutor& _push_threads; IFieldIndexCollection& _field_indexes; + std::vector<InvertContext> _invert_contexts; + std::vector<PushContext> _push_contexts; void add_field(const document::DocumentType& doc_type, uint32_t fieldId); void build_fields(const document::DocumentType& doc_type, const document::DataType* data_type); + void setup_contexts(); public: DocumentInverterContext(const index::Schema &schema, vespalib::ISequencedTaskExecutor &invert_threads, @@ -48,6 +51,8 @@ public: vespalib::ISequencedTaskExecutor& get_push_threads() noexcept { return _push_threads; } IFieldIndexCollection& get_field_indexes() noexcept { return _field_indexes; } std::unique_ptr<document::FieldValue> get_field_value(const document::Document& doc, uint32_t field_id) const; + const std::vector<InvertContext>& get_invert_contexts() const noexcept { return _invert_contexts; } + const std::vector<PushContext>& get_push_contexts() const noexcept { return _push_contexts; } }; } |