aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-01-09 19:41:21 +0100
committerGitHub <noreply@github.com>2023-01-09 19:41:21 +0100
commit57a96d0006038bec9a35ab42ed761ccf1b198bf2 (patch)
tree755ec18b4cc68a2390673f5fe242bd515f333800 /searchlib/src/vespa
parent0737c627732a4f07d9aff3ccd160a0f6ebc624e3 (diff)
parent57b9b54286be922494eb13b1deec7928a9a46854 (diff)
Merge pull request #25462 from vespa-engine/balder/initialize-in-constructor-where-possiblev8.108.22
Initialize in constructor where possible.
Diffstat (limited to 'searchlib/src/vespa')
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/field_merger.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/field_merger.h10
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp13
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/fieldwriter.h22
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/indexbuilder.cpp4
5 files changed, 25 insertions, 28 deletions
diff --git a/searchlib/src/vespa/searchlib/diskindex/field_merger.cpp b/searchlib/src/vespa/searchlib/diskindex/field_merger.cpp
index d27ab2e7787..24d790afe74 100644
--- a/searchlib/src/vespa/searchlib/diskindex/field_merger.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/field_merger.cpp
@@ -321,7 +321,7 @@ FieldMerger::open_field_writer()
field_length_info = _readers.back()->get_field_length_info();
}
SchemaUtil::IndexIterator index(_fusion_out_index.get_schema(), _id);
- if (!_writer->open(_field_dir + "/", 64, 262144, _fusion_out_index.get_dynamic_k_pos_index_format(),
+ if (!_writer->open(64, 262144, _fusion_out_index.get_dynamic_k_pos_index_format(),
index.use_interleaved_features(), index.getSchema(),
index.getIndex(),
field_length_info,
@@ -414,7 +414,7 @@ void
FieldMerger::merge_postings_start()
{
/* OUTPUT */
- _writer = std::make_unique<FieldWriter>(_fusion_out_index.get_doc_id_limit(), _num_word_ids);
+ _writer = std::make_unique<FieldWriter>(_fusion_out_index.get_doc_id_limit(), _num_word_ids, _field_dir + "/");
_readers.reserve(_fusion_out_index.get_old_indexes().size());
allocate_field_length_scanner();
_open_reader_idx = 0;
diff --git a/searchlib/src/vespa/searchlib/diskindex/field_merger.h b/searchlib/src/vespa/searchlib/diskindex/field_merger.h
index 347367b3aa5..8d130052003 100644
--- a/searchlib/src/vespa/searchlib/diskindex/field_merger.h
+++ b/searchlib/src/vespa/searchlib/diskindex/field_merger.h
@@ -41,11 +41,11 @@ class FieldMerger
MERGE_DONE
};
- uint32_t _id;
- vespalib::string _field_name;
- vespalib::string _field_dir;
- const FusionOutputIndex& _fusion_out_index;
- std::shared_ptr<IFlushToken> _flush_token;
+ const uint32_t _id;
+ const vespalib::string _field_name;
+ const vespalib::string _field_dir;
+ const FusionOutputIndex & _fusion_out_index;
+ std::shared_ptr<IFlushToken> _flush_token;
std::vector<std::unique_ptr<DictionaryWordReader>> _word_readers;
std::unique_ptr<PostingPriorityQueueMerger<DictionaryWordReader, WordAggregator>> _word_heap;
std::unique_ptr<WordAggregator> _word_aggregator;
diff --git a/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp b/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp
index 3442a610f4d..7f6f5c4ed15 100644
--- a/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp
@@ -16,12 +16,12 @@ namespace search::diskindex {
using vespalib::getLastErrorString;
using common::FileHeaderContext;
-FieldWriter::FieldWriter(uint32_t docIdLimit, uint64_t numWordIds)
+FieldWriter::FieldWriter(uint32_t docIdLimit, uint64_t numWordIds, vespalib::stringref prefix)
: _dictFile(),
_posoccfile(),
_bvc(docIdLimit),
_bmapfile(BitVectorKeyScope::PERFIELD_WORDS),
- _prefix(),
+ _prefix(prefix),
_word(),
_numWordIds(numWordIds),
_compactWordNum(0),
@@ -34,8 +34,7 @@ FieldWriter::FieldWriter(uint32_t docIdLimit, uint64_t numWordIds)
FieldWriter::~FieldWriter() = default;
bool
-FieldWriter::open(const vespalib::string &prefix,
- uint32_t minSkipDocs,
+FieldWriter::open(uint32_t minSkipDocs,
uint32_t minChunkDocs,
bool dynamicKPosOccFormat,
bool encode_interleaved_features,
@@ -45,8 +44,7 @@ FieldWriter::open(const vespalib::string &prefix,
const TuneFileSeqWrite &tuneFileWrite,
const FileHeaderContext &fileHeaderContext)
{
- _prefix = prefix;
- vespalib::string name = prefix + "posocc.dat.compressed";
+ vespalib::string name = _prefix + "posocc.dat.compressed";
PostingListParams params;
PostingListParams featureParams;
@@ -88,8 +86,7 @@ FieldWriter::open(const vespalib::string &prefix,
// Open output boolocc.bdat file
vespalib::string booloccbidxname = _prefix + "boolocc";
- _bmapfile.open(booloccbidxname.c_str(), _docIdLimit, tuneFileWrite,
- fileHeaderContext);
+ _bmapfile.open(booloccbidxname.c_str(), _docIdLimit, tuneFileWrite, fileHeaderContext);
return true;
}
diff --git a/searchlib/src/vespa/searchlib/diskindex/fieldwriter.h b/searchlib/src/vespa/searchlib/diskindex/fieldwriter.h
index d541fd59be8..45ab32bc917 100644
--- a/searchlib/src/vespa/searchlib/diskindex/fieldwriter.h
+++ b/searchlib/src/vespa/searchlib/diskindex/fieldwriter.h
@@ -27,7 +27,7 @@ public:
FieldWriter(const FieldWriter &&rhs) = delete;
FieldWriter &operator=(const FieldWriter &rhs) = delete;
FieldWriter &operator=(const FieldWriter &&rhs) = delete;
- FieldWriter(uint32_t docIdLimit, uint64_t numWordIds);
+ FieldWriter(uint32_t docIdLimit, uint64_t numWordIds, vespalib::stringref prefix);
~FieldWriter();
void newWord(uint64_t wordNum, vespalib::stringref word);
@@ -43,7 +43,7 @@ public:
uint64_t getSparseWordNum() const { return _wordNum; }
- bool open(const vespalib::string &prefix, uint32_t minSkipDocs, uint32_t minChunkDocs,
+ bool open(uint32_t minSkipDocs, uint32_t minChunkDocs,
bool dynamicKPosOccFormat,
bool encode_interleaved_features,
const Schema &schema, uint32_t indexId,
@@ -61,15 +61,15 @@ private:
using PostingListCounts = index::PostingListCounts;
std::unique_ptr<DictionaryFileSeqWrite> _dictFile;
std::unique_ptr<PostingListFileSeqWrite> _posoccfile;
- BitVectorCandidate _bvc;
- BitVectorFileWrite _bmapfile;
- vespalib::string _prefix;
- vespalib::string _word;
- const uint64_t _numWordIds;
- uint64_t _compactWordNum;
- uint64_t _wordNum;
- uint32_t _prevDocId;
- const uint32_t _docIdLimit;
+ BitVectorCandidate _bvc;
+ BitVectorFileWrite _bmapfile;
+ const vespalib::string _prefix;
+ vespalib::string _word;
+ const uint64_t _numWordIds;
+ uint64_t _compactWordNum;
+ uint64_t _wordNum;
+ uint32_t _prevDocId;
+ const uint32_t _docIdLimit;
void flush();
static uint64_t noWordNum() { return 0u; }
};
diff --git a/searchlib/src/vespa/searchlib/diskindex/indexbuilder.cpp b/searchlib/src/vespa/searchlib/diskindex/indexbuilder.cpp
index 6815db0ae0c..f552c35e941 100644
--- a/searchlib/src/vespa/searchlib/diskindex/indexbuilder.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/indexbuilder.cpp
@@ -97,9 +97,9 @@ FileHandle::open(vespalib::stringref dir,
{
assert(_fieldWriter.get() == nullptr);
- _fieldWriter = std::make_shared<FieldWriter>(docIdLimit, numWordIds);
+ _fieldWriter = std::make_shared<FieldWriter>(docIdLimit, numWordIds, dir + "/");
- if (!_fieldWriter->open(dir + "/", 64, 262144u, false,
+ if (!_fieldWriter->open(64, 262144u, false,
index.use_interleaved_features(),
index.getSchema(), index.getIndex(),
field_length_info,