diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2019-06-18 15:22:26 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@broadpark.no> | 2019-06-18 15:22:26 +0200 |
commit | 57b31b5abb93497346c3ab7d77c81c2fb3c00e58 (patch) | |
tree | 758948c4e6585b347977923a5992d3edf6e3fade /searchlib | |
parent | 8d007e3adfe822499b20806a2a92ca55dbda3131 (diff) |
Rename cheap features to interleaved features.
Diffstat (limited to 'searchlib')
31 files changed, 184 insertions, 184 deletions
diff --git a/searchlib/src/tests/diskindex/diskindex/diskindex_test.cpp b/searchlib/src/tests/diskindex/diskindex/diskindex_test.cpp index 82a6f973cf9..d34f824d094 100644 --- a/searchlib/src/tests/diskindex/diskindex/diskindex_test.cpp +++ b/searchlib/src/tests/diskindex/diskindex/diskindex_test.cpp @@ -89,7 +89,7 @@ Verifier::Verifier(FakePosting::SP fp) { if (_fp) { _tfmd.setNeedNormalFeatures(_fp->enable_unpack_normal_features()); - _tfmd.setNeedCheapFeatures(_fp->enable_unpack_cheap_features()); + _tfmd.setNeedInterleavedFeatures(_fp->enable_unpack_interleaved_features()); } _tfmda.add(&_tfmd); } diff --git a/searchlib/src/tests/diskindex/fieldwriter/fieldwriter_test.cpp b/searchlib/src/tests/diskindex/fieldwriter/fieldwriter_test.cpp index 2b9f8a5b201..eb3218468ae 100644 --- a/searchlib/src/tests/diskindex/fieldwriter/fieldwriter_test.cpp +++ b/searchlib/src/tests/diskindex/fieldwriter/fieldwriter_test.cpp @@ -149,7 +149,7 @@ public: std::unique_ptr<FieldWriter> _fieldWriter; private: bool _dynamicK; - bool _encode_cheap_features; + bool _encode_interleaved_features; uint32_t _numWordIds; uint32_t _docIdLimit; vespalib::string _namepref; @@ -173,12 +173,12 @@ WrappedFieldWriter::~WrappedFieldWriter() {} WrappedFieldWriter::WrappedFieldWriter(const vespalib::string &namepref, bool dynamicK, - bool encode_cheap_features, + bool encode_interleaved_features, uint32_t numWordIds, uint32_t docIdLimit) : _fieldWriter(), _dynamicK(dynamicK), - _encode_cheap_features(encode_cheap_features), + _encode_interleaved_features(encode_interleaved_features), _numWordIds(numWordIds), _docIdLimit(docIdLimit), _namepref(dirprefix + namepref), @@ -200,7 +200,7 @@ WrappedFieldWriter::open() _fieldWriter = std::make_unique<FieldWriter>(_docIdLimit, _numWordIds); _fieldWriter->open(_namepref, minSkipDocs, minChunkDocs, - _dynamicK, _encode_cheap_features, + _dynamicK, _encode_interleaved_features, _schema, _indexId, FieldLengthInfo(4.5, 42), tuneFileWrite, fileHeaderContext); @@ -358,7 +358,7 @@ void writeField(FakeWordSet &wordSet, uint32_t docIdLimit, const std::string &namepref, - bool dynamicK, bool encode_cheap_features) + bool dynamicK, bool encode_interleaved_features) { const char *dynamicKStr = dynamicK ? "true" : "false"; @@ -368,14 +368,14 @@ writeField(FakeWordSet &wordSet, LOG(info, "enter writeField, " - "namepref=%s, dynamicK=%s, encode_cheap_features=%s", + "namepref=%s, dynamicK=%s, encode_interleaved_features=%s", namepref.c_str(), dynamicKStr, - bool_to_str(encode_cheap_features)); + bool_to_str(encode_interleaved_features)); tv.SetNow(); before = tv.Secs(); WrappedFieldWriter ostate(namepref, - dynamicK, encode_cheap_features, + dynamicK, encode_interleaved_features, wordSet.getNumWords(), docIdLimit); FieldWriter::remove(dirprefix + namepref); ostate.open(); @@ -394,11 +394,11 @@ writeField(FakeWordSet &wordSet, after = tv.Secs(); LOG(info, "leave writeField, " - "namepref=%s, dynamicK=%s, encode_cheap_features=%s" + "namepref=%s, dynamicK=%s, encode_interleaved_features=%s" " elapsed=%10.6f", namepref.c_str(), dynamicKStr, - bool_to_str(encode_cheap_features), + bool_to_str(encode_interleaved_features), after - before); } @@ -408,7 +408,7 @@ readField(FakeWordSet &wordSet, uint32_t docIdLimit, const std::string &namepref, bool dynamicK, - bool decode_cheap_features, + bool decode_interleaved_features, bool verbose) { const char *dynamicKStr = dynamicK ? "true" : "false"; @@ -420,10 +420,10 @@ readField(FakeWordSet &wordSet, docIdLimit); LOG(info, "enter readField, " - "namepref=%s, dynamicK=%s, decode_cheap_features=%s", + "namepref=%s, dynamicK=%s, decode_interleaved_features=%s", namepref.c_str(), dynamicKStr, - bool_to_str(decode_cheap_features)); + bool_to_str(decode_interleaved_features)); tv.SetNow(); before = tv.Secs(); istate.open(); @@ -442,7 +442,7 @@ readField(FakeWordSet &wordSet, TermFieldMatchDataArray tfmda; tfmda.add(&mdfield1); - word->validate(*istate._fieldReader, wordNum, tfmda, decode_cheap_features, verbose); + word->validate(*istate._fieldReader, wordNum, tfmda, decode_interleaved_features, verbose); ++wordNum; } } @@ -452,11 +452,11 @@ readField(FakeWordSet &wordSet, after = tv.Secs(); LOG(info, "leave readField, " - "namepref=%s, dynamicK=%s, decode_cheap_features=%s" + "namepref=%s, dynamicK=%s, decode_interleaved_features=%s" " elapsed=%10.6f", namepref.c_str(), dynamicKStr, - bool_to_str(decode_cheap_features), + bool_to_str(decode_interleaved_features), after - before); } @@ -465,7 +465,7 @@ void randReadField(FakeWordSet &wordSet, const std::string &namepref, bool dynamicK, - bool decode_cheap_features, + bool decode_interleaved_features, bool verbose) { const char *dynamicKStr = dynamicK ? "true" : "false"; @@ -477,10 +477,10 @@ randReadField(FakeWordSet &wordSet, LOG(info, "enter randReadField," - " namepref=%s, dynamicK=%s, decode_cheap_features=%s", + " namepref=%s, dynamicK=%s, decode_interleaved_features=%s", namepref.c_str(), dynamicKStr, - bool_to_str(decode_cheap_features)); + bool_to_str(decode_interleaved_features)); tv.SetNow(); before = tv.Secs(); @@ -545,12 +545,12 @@ randReadField(FakeWordSet &wordSet, sb(handle.createIterator(counts, tfmda)); // LOG(info, "loop=%d, wordNum=%u", loop, wordNum); - word->validate(sb.get(), tfmda, true, decode_cheap_features, verbose); - word->validate(sb.get(), tfmda, 19, true, decode_cheap_features, verbose); - word->validate(sb.get(), tfmda, 99, true, decode_cheap_features, verbose); - word->validate(sb.get(), tfmda, 799, true, decode_cheap_features, verbose); - word->validate(sb.get(), tfmda, 6399, true, decode_cheap_features, verbose); - word->validate(sb.get(), tfmda, 11999, true, decode_cheap_features, verbose); + word->validate(sb.get(), tfmda, true, decode_interleaved_features, verbose); + word->validate(sb.get(), tfmda, 19, true, decode_interleaved_features, verbose); + word->validate(sb.get(), tfmda, 99, true, decode_interleaved_features, verbose); + word->validate(sb.get(), tfmda, 799, true, decode_interleaved_features, verbose); + word->validate(sb.get(), tfmda, 6399, true, decode_interleaved_features, verbose); + word->validate(sb.get(), tfmda, 11999, true, decode_interleaved_features, verbose); ++wordNum; } } @@ -564,11 +564,11 @@ randReadField(FakeWordSet &wordSet, after = tv.Secs(); LOG(info, "leave randReadField, namepref=%s," - " dynamicK=%s, decode_cheap_features=%s, " + " dynamicK=%s, decode_interleaved_features=%s, " "elapsed=%10.6f", namepref.c_str(), dynamicKStr, - bool_to_str(decode_cheap_features), + bool_to_str(decode_interleaved_features), after - before); } @@ -580,7 +580,7 @@ fusionField(uint32_t numWordIds, const vespalib::string &opref, bool doRaw, bool dynamicK, - bool encode_cheap_features) + bool encode_interleaved_features) { const char *rawStr = doRaw ? "true" : "false"; const char *dynamicKStr = dynamicK ? "true" : "false"; @@ -589,17 +589,17 @@ fusionField(uint32_t numWordIds, LOG(info, "enter fusionField, ipref=%s, opref=%s," " raw=%s," - " dynamicK=%s, encode_cheap_features=%s", + " dynamicK=%s, encode_interleaved_features=%s", ipref.c_str(), opref.c_str(), rawStr, - dynamicKStr, bool_to_str(encode_cheap_features)); + dynamicKStr, bool_to_str(encode_interleaved_features)); FastOS_Time tv; double before; double after; WrappedFieldWriter ostate(opref, - dynamicK, encode_cheap_features, + dynamicK, encode_interleaved_features, numWordIds, docIdLimit); WrappedFieldReader istate(ipref, numWordIds, docIdLimit); @@ -628,12 +628,12 @@ fusionField(uint32_t numWordIds, after = tv.Secs(); LOG(info, "leave fusionField, ipref=%s, opref=%s," - " raw=%s dynamicK=%s, encode_cheap_features=%s," + " raw=%s dynamicK=%s, encode_interleaved_features=%s," " elapsed=%10.6f", ipref.c_str(), opref.c_str(), rawStr, - dynamicKStr, bool_to_str(encode_cheap_features), + dynamicKStr, bool_to_str(encode_interleaved_features), after - before); } @@ -642,20 +642,20 @@ void testFieldWriterVariant(FakeWordSet &wordSet, uint32_t doc_id_limit, const vespalib::string &file_name_prefix, bool dynamic_k, - bool encode_cheap_features, + bool encode_interleaved_features, bool verbose) { - writeField(wordSet, doc_id_limit, file_name_prefix, dynamic_k, encode_cheap_features); - readField(wordSet, doc_id_limit, file_name_prefix, dynamic_k, encode_cheap_features, verbose); - randReadField(wordSet, file_name_prefix, dynamic_k, encode_cheap_features, verbose); + writeField(wordSet, doc_id_limit, file_name_prefix, dynamic_k, encode_interleaved_features); + readField(wordSet, doc_id_limit, file_name_prefix, dynamic_k, encode_interleaved_features, verbose); + randReadField(wordSet, file_name_prefix, dynamic_k, encode_interleaved_features, verbose); fusionField(wordSet.getNumWords(), doc_id_limit, file_name_prefix, file_name_prefix + "x", - false, dynamic_k, encode_cheap_features); + false, dynamic_k, encode_interleaved_features); fusionField(wordSet.getNumWords(), doc_id_limit, file_name_prefix, file_name_prefix + "xx", - true, dynamic_k, encode_cheap_features); + true, dynamic_k, encode_interleaved_features); check_fusion(file_name_prefix); remove_field(file_name_prefix); } diff --git a/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp b/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp index 3a0c334fbba..a75b91cb78a 100644 --- a/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp +++ b/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp @@ -257,32 +257,32 @@ TEST("require that TermFieldMatchData can be tagged as needed or not") { EXPECT_EQUAL(tfmd.getFieldId(),123u); EXPECT_TRUE(!tfmd.isNotNeeded()); EXPECT_TRUE(tfmd.needs_normal_features()); - EXPECT_TRUE(tfmd.needs_cheap_features()); + EXPECT_TRUE(tfmd.needs_interleaved_features()); tfmd.tagAsNotNeeded(); EXPECT_EQUAL(tfmd.getFieldId(),123u); EXPECT_TRUE(tfmd.isNotNeeded()); EXPECT_TRUE(!tfmd.needs_normal_features()); - EXPECT_TRUE(!tfmd.needs_cheap_features()); + EXPECT_TRUE(!tfmd.needs_interleaved_features()); tfmd.setNeedNormalFeatures(true); EXPECT_EQUAL(tfmd.getFieldId(),123u); EXPECT_TRUE(!tfmd.isNotNeeded()); EXPECT_TRUE(tfmd.needs_normal_features()); - EXPECT_TRUE(!tfmd.needs_cheap_features()); - tfmd.setNeedCheapFeatures(true); + EXPECT_TRUE(!tfmd.needs_interleaved_features()); + tfmd.setNeedInterleavedFeatures(true); EXPECT_EQUAL(tfmd.getFieldId(),123u); EXPECT_TRUE(!tfmd.isNotNeeded()); EXPECT_TRUE(tfmd.needs_normal_features()); - EXPECT_TRUE(tfmd.needs_cheap_features()); + EXPECT_TRUE(tfmd.needs_interleaved_features()); tfmd.setNeedNormalFeatures(false); EXPECT_EQUAL(tfmd.getFieldId(),123u); EXPECT_TRUE(!tfmd.isNotNeeded()); EXPECT_TRUE(!tfmd.needs_normal_features()); - EXPECT_TRUE(tfmd.needs_cheap_features()); - tfmd.setNeedCheapFeatures(false); + EXPECT_TRUE(tfmd.needs_interleaved_features()); + tfmd.setNeedInterleavedFeatures(false); EXPECT_EQUAL(tfmd.getFieldId(),123u); EXPECT_TRUE(tfmd.isNotNeeded()); EXPECT_TRUE(!tfmd.needs_normal_features()); - EXPECT_TRUE(!tfmd.needs_cheap_features()); + EXPECT_TRUE(!tfmd.needs_interleaved_features()); } TEST("require that MatchData soft_reset retains appropriate state") { diff --git a/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp b/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp index f741d902d3e..25efdc856fd 100644 --- a/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp +++ b/searchlib/src/tests/memoryindex/field_inverter/field_inverter_test.cpp @@ -358,7 +358,7 @@ TEST_F("require that cheap features are calculated", Fixture) { f.invertDocument(17, *makeDoc17(f._b)); f._inserter.setVerbose(); - f._inserter.set_show_cheap_features(); + f._inserter.set_show_interleaved_features(); f.pushDocuments(); EXPECT_EQUAL("f=1," "w=bar0,a=17(fl=2,occs=1,e=0,w=1,l=2[1])," diff --git a/searchlib/src/tests/postinglistbm/posting_list_test.cpp b/searchlib/src/tests/postinglistbm/posting_list_test.cpp index 2022ffb1b8e..a7d810cb1a1 100644 --- a/searchlib/src/tests/postinglistbm/posting_list_test.cpp +++ b/searchlib/src/tests/postinglistbm/posting_list_test.cpp @@ -26,10 +26,10 @@ validate_posting_list_for_word(const FakePosting& posting, const FakeWord& word) tfmda.add(&md); md.setNeedNormalFeatures(posting.enable_unpack_normal_features()); - md.setNeedCheapFeatures(posting.enable_unpack_cheap_features()); + md.setNeedInterleavedFeatures(posting.enable_unpack_interleaved_features()); std::unique_ptr<SearchIterator> iterator(posting.createIterator(tfmda)); if (posting.hasWordPositions()) { - word.validate(iterator.get(), tfmda, posting.enable_unpack_normal_features(), posting.has_cheap_features() && posting.enable_unpack_cheap_features(), false); + word.validate(iterator.get(), tfmda, posting.enable_unpack_normal_features(), posting.has_interleaved_features() && posting.enable_unpack_interleaved_features(), false); } else { word.validate(iterator.get(), false); } diff --git a/searchlib/src/tests/postinglistbm/stress_runner.cpp b/searchlib/src/tests/postinglistbm/stress_runner.cpp index 5353008965d..a2a2968c13c 100644 --- a/searchlib/src/tests/postinglistbm/stress_runner.cpp +++ b/searchlib/src/tests/postinglistbm/stress_runner.cpp @@ -215,13 +215,13 @@ makeSomePostings(FPFactory *postingFactory, tfmda.add(&md); md.setNeedNormalFeatures(posting->enable_unpack_normal_features()); - md.setNeedCheapFeatures(posting->enable_unpack_cheap_features()); + md.setNeedInterleavedFeatures(posting->enable_unpack_interleaved_features()); std::unique_ptr<SearchIterator> iterator(posting->createIterator(tfmda)); if (posting->hasWordPositions()) { if (stride != 0) { - word->validate(iterator.get(), tfmda, stride, posting->enable_unpack_normal_features(), posting->has_cheap_features() && posting->enable_unpack_cheap_features(), verbose); + word->validate(iterator.get(), tfmda, stride, posting->enable_unpack_normal_features(), posting->has_interleaved_features() && posting->enable_unpack_interleaved_features(), verbose); } else { - word->validate(iterator.get(), tfmda, posting->enable_unpack_normal_features(), posting->has_cheap_features() && posting->enable_unpack_cheap_features(), verbose); + word->validate(iterator.get(), tfmda, posting->enable_unpack_normal_features(), posting->has_interleaved_features() && posting->enable_unpack_interleaved_features(), verbose); } } else { word->validate(iterator.get(), verbose); diff --git a/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp b/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp index ae308db1a4f..19157c80197 100644 --- a/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp +++ b/searchlib/src/vespa/searchlib/diskindex/fieldwriter.cpp @@ -38,7 +38,7 @@ FieldWriter::open(const vespalib::string &prefix, uint32_t minSkipDocs, uint32_t minChunkDocs, bool dynamicKPosOccFormat, - bool encode_cheap_features, + bool encode_interleaved_features, const Schema &schema, const uint32_t indexId, const FieldLengthInfo &field_length_info, @@ -62,8 +62,8 @@ FieldWriter::open(const vespalib::string &prefix, countParams.set("minChunkDocs", minChunkDocs); params.set("minChunkDocs", minChunkDocs); } - if (encode_cheap_features) { - params.set("cheap_features", encode_cheap_features); + if (encode_interleaved_features) { + params.set("interleaved_features", encode_interleaved_features); } _dictFile = std::make_unique<PageDict4FileSeqWrite>(); diff --git a/searchlib/src/vespa/searchlib/diskindex/fieldwriter.h b/searchlib/src/vespa/searchlib/diskindex/fieldwriter.h index 69c763bbd77..0d205fb9d98 100644 --- a/searchlib/src/vespa/searchlib/diskindex/fieldwriter.h +++ b/searchlib/src/vespa/searchlib/diskindex/fieldwriter.h @@ -69,7 +69,7 @@ public: bool open(const vespalib::string &prefix, uint32_t minSkipDocs, uint32_t minChunkDocs, bool dynamicKPosOccFormat, - bool encode_cheap_features, + bool encode_interleaved_features, const Schema &schema, uint32_t indexId, const index::FieldLengthInfo &field_length_info, const TuneFileSeqWrite &tuneFileWrite, diff --git a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_params.h b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_params.h index 8a5564d1cf7..7face2bcef9 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_params.h +++ b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_params.h @@ -15,15 +15,15 @@ struct Zc4PostingParams { uint32_t _doc_id_limit; bool _dynamic_k; bool _encode_features; - bool _encode_cheap_features; + bool _encode_interleaved_features; - Zc4PostingParams(uint32_t min_skip_docs, uint32_t min_chunk_docs, uint32_t doc_id_limit, bool dynamic_k, bool encode_features, bool encode_cheap_features) + Zc4PostingParams(uint32_t min_skip_docs, uint32_t min_chunk_docs, uint32_t doc_id_limit, bool dynamic_k, bool encode_features, bool encode_interleaved_features) : _min_skip_docs(min_skip_docs), _min_chunk_docs(min_chunk_docs), _doc_id_limit(doc_id_limit), _dynamic_k(dynamic_k), _encode_features(encode_features), - _encode_cheap_features(encode_cheap_features) + _encode_interleaved_features(encode_interleaved_features) { } }; diff --git a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader.cpp b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader.cpp index ab2598211bb..71a836fb0ac 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader.cpp +++ b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader.cpp @@ -50,7 +50,7 @@ Zc4PostingReader<bigEndian>::read_doc_id_and_features(DocIdAndFeatures &features UC64_DECODEEXPGOLOMB_SMALL_NS(o, _doc_id_k, EC); _no_skip.set_doc_id(_no_skip.get_doc_id() + 1 + val64); - if (_posting_params._encode_cheap_features) { + if (_posting_params._encode_interleaved_features) { if (__builtin_expect(oCompr >= d._valE, false)) { UC64_DECODECONTEXT_STORE(o, d._); _readContext.readComprBuffer(); @@ -73,7 +73,7 @@ Zc4PostingReader<bigEndian>::read_doc_id_and_features(DocIdAndFeatures &features } features.set_doc_id(_no_skip.get_doc_id()); if (_posting_params._encode_features) { - if (_posting_params._encode_cheap_features) { + if (_posting_params._encode_interleaved_features) { features.set_field_length(_no_skip.get_field_length()); features.set_num_occs(_no_skip.get_num_occs()); } diff --git a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader_base.cpp b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader_base.cpp index 6bc854e08af..198a3beebfc 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader_base.cpp +++ b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader_base.cpp @@ -51,11 +51,11 @@ Zc4PostingReaderBase::NoSkip::NoSkip() Zc4PostingReaderBase::NoSkip::~NoSkip() = default; void -Zc4PostingReaderBase::NoSkip::read(bool decode_cheap_features) +Zc4PostingReaderBase::NoSkip::read(bool decode_interleaved_features) { assert(_zc_buf._valI < _zc_buf._valE); _doc_id += (_zc_buf.decode()+ 1); - if (decode_cheap_features) { + if (decode_interleaved_features) { _field_length = _zc_buf.decode() + 1; _num_occs = _zc_buf.decode() + 1; } @@ -219,7 +219,7 @@ Zc4PostingReaderBase::read_common_word_doc_id(DecodeContext64Base &decode_contex } _l1_skip.next_skip_entry(); } - _no_skip.read(_posting_params._encode_cheap_features); + _no_skip.read(_posting_params._encode_interleaved_features); if (_residue == 1) { _no_skip.check_end(_last_doc_id); _l1_skip.check_end(_last_doc_id); diff --git a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader_base.h b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader_base.h index 9eff9117450..e3de8b61b08 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader_base.h +++ b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_reader_base.h @@ -31,7 +31,7 @@ protected: ~NoSkipBase(); void setup(DecodeContext &decode_context, uint32_t size, uint32_t doc_id); void set_features_pos(uint64_t features_pos) { _features_pos = features_pos; } - void read(bool decode_cheap_features); + void read(bool decode_interleaved_features); void check_end(uint32_t last_doc_id); uint32_t get_doc_id() const { return _doc_id; } uint32_t get_doc_id_pos() const { return _doc_id_pos; } @@ -45,7 +45,7 @@ protected: public: NoSkip(); ~NoSkip(); - void read(bool decode_cheap_features); + void read(bool decode_interleaved_features); void check_not_end(uint32_t last_doc_id); uint32_t get_field_length() const { return _field_length; } uint32_t get_num_occs() const { return _num_occs; } diff --git a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer.cpp b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer.cpp index ad8f7440bdc..58916b2cfac 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer.cpp +++ b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer.cpp @@ -191,7 +191,7 @@ Zc4PostingWriter<bigEndian>::flush_word_no_skip() uint32_t featureSize = dit->_features_size; e.encodeExpGolomb(docId - baseDocId, docIdK); baseDocId = docId + 1; - if (_encode_cheap_features) { + if (_encode_interleaved_features) { assert(dit->_field_length > 0); e.encodeExpGolomb(dit->_field_length - 1, K_VALUE_ZCPOSTING_FIELD_LENGTH); assert(dit->_num_occs > 0); diff --git a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer_base.cpp b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer_base.cpp index 6e0cf6ed881..04a15213f6a 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer_base.cpp +++ b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer_base.cpp @@ -25,7 +25,7 @@ public: { } - void write(ZcBuf &zc_buf, const DocIdAndFeatureSize &doc_id_and_feature_size, bool encode_cheap_features); + void write(ZcBuf &zc_buf, const DocIdAndFeatureSize &doc_id_and_feature_size, bool encode_interleaved_features); void set_doc_id(uint32_t doc_id) { _doc_id = doc_id; } uint32_t get_doc_id() const { return _doc_id; } uint32_t get_doc_id_pos() const { return _doc_id_pos; } @@ -100,12 +100,12 @@ public: }; void -DocIdEncoder::write(ZcBuf &zc_buf, const DocIdAndFeatureSize &doc_id_and_feature_size, bool encode_cheap_features) +DocIdEncoder::write(ZcBuf &zc_buf, const DocIdAndFeatureSize &doc_id_and_feature_size, bool encode_interleaved_features) { _feature_pos += doc_id_and_feature_size._features_size; zc_buf.encode(doc_id_and_feature_size._doc_id - _doc_id - 1); _doc_id = doc_id_and_feature_size._doc_id; - if (encode_cheap_features) { + if (encode_interleaved_features) { assert(doc_id_and_feature_size._field_length > 0); zc_buf.encode(doc_id_and_feature_size._field_length - 1); assert(doc_id_and_feature_size._num_occs > 0); @@ -205,7 +205,7 @@ Zc4PostingWriterBase::Zc4PostingWriterBase(PostingListCounts &counts) _featureOffset(0), _writePos(0), _dynamicK(false), - _encode_cheap_features(false), + _encode_interleaved_features(false), _zcDocIds(), _l1Skip(), _l2Skip(), @@ -264,7 +264,7 @@ Zc4PostingWriterBase::calc_skip_info(bool encode_features) } } } - doc_id_encoder.write(_zcDocIds, doc_id_and_feature_size, _encode_cheap_features); + doc_id_encoder.write(_zcDocIds, doc_id_and_feature_size, _encode_interleaved_features); } // Extra partial entries for skip tables to simplify iterator during search l1_skip_encoder.write_partial_skip(_l1Skip, doc_id_encoder.get_doc_id()); @@ -289,7 +289,7 @@ Zc4PostingWriterBase::set_posting_list_params(const PostingListParams ¶ms) params.get("docIdLimit", _docIdLimit); params.get("minChunkDocs", _minChunkDocs); params.get("minSkipDocs", _minSkipDocs); - params.get("cheap_features", _encode_cheap_features); + params.get("interleaved_features", _encode_interleaved_features); } } diff --git a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer_base.h b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer_base.h index bb94e379c38..e9b1efa5c7d 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer_base.h +++ b/searchlib/src/vespa/searchlib/diskindex/zc4_posting_writer_base.h @@ -43,7 +43,7 @@ protected: uint64_t _featureOffset; // Bit offset of next feature uint64_t _writePos; // Bit position for start of current word bool _dynamicK; // Caclulate EG compression parameters ? - bool _encode_cheap_features; + bool _encode_interleaved_features; ZcBuf _zcDocIds; // Document id deltas ZcBuf _l1Skip; // L1 skip info ZcBuf _l2Skip; // L2 skip info @@ -72,9 +72,9 @@ public: uint32_t get_docid_limit() const { return _docIdLimit; } uint64_t get_num_words() const { return _numWords; } bool get_dynamic_k() const { return _dynamicK; } - bool get_encode_cheap_features() const { return _encode_cheap_features; } + bool get_encode_interleaved_features() const { return _encode_interleaved_features; } void set_dynamic_k(bool dynamicK) { _dynamicK = dynamicK; } - void set_encode_cheap_features(bool encode_cheap_features) { _encode_cheap_features = encode_cheap_features; } + void set_encode_interleaved_features(bool encode_interleaved_features) { _encode_interleaved_features = encode_interleaved_features; } void set_posting_list_params(const index::PostingListParams ¶ms); }; diff --git a/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.cpp b/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.cpp index b71a1505eac..d3df8792e0e 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.cpp +++ b/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.cpp @@ -17,13 +17,13 @@ using search::index::PostingListCounts; template <bool bigEndian, bool dynamic_k> ZcRareWordPosOccIterator<bigEndian, dynamic_k>:: ZcRareWordPosOccIterator(Position start, uint64_t bitLength, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features, + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features, const PosOccFieldsParams *fieldsParams, const TermFieldMatchDataArray &matchData) : ZcRareWordPostingIterator<bigEndian, dynamic_k>(matchData, start, docIdLimit, - decode_normal_features, decode_cheap_features, - unpack_normal_features, unpack_cheap_features), + decode_normal_features, decode_interleaved_features, + unpack_normal_features, unpack_interleaved_features), _decodeContextReal(start.getOccurences(), start.getBitOffset(), bitLength, fieldsParams) { assert(!matchData.valid() || (fieldsParams->getNumFields() == matchData.size())); @@ -33,14 +33,14 @@ ZcRareWordPosOccIterator(Position start, uint64_t bitLength, uint32_t docIdLimit template <bool bigEndian, bool dynamic_k> ZcPosOccIterator<bigEndian, dynamic_k>:: ZcPosOccIterator(Position start, uint64_t bitLength, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features, + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features, uint32_t minChunkDocs, const PostingListCounts &counts, const PosOccFieldsParams *fieldsParams, const TermFieldMatchDataArray &matchData) : ZcPostingIterator<bigEndian>(minChunkDocs, dynamic_k, counts, matchData, start, docIdLimit, - decode_normal_features, decode_cheap_features, - unpack_normal_features, unpack_cheap_features), + decode_normal_features, decode_interleaved_features, + unpack_normal_features, unpack_interleaved_features), _decodeContextReal(start.getOccurences(), start.getBitOffset(), bitLength, fieldsParams) { assert(!matchData.valid() || (fieldsParams->getNumFields() == matchData.size())); @@ -49,7 +49,7 @@ ZcPosOccIterator(Position start, uint64_t bitLength, uint32_t docIdLimit, template <bool bigEndian> std::unique_ptr<search::queryeval::SearchIterator> -create_zc_posocc_iterator(const PostingListCounts &counts, bitcompression::Position start, uint64_t bit_length, const Zc4PostingParams &posting_params, const bitcompression::PosOccFieldsParams &fields_params, const fef::TermFieldMatchDataArray &match_data, bool unpack_normal_features, bool unpack_cheap_features) +create_zc_posocc_iterator(const PostingListCounts &counts, bitcompression::Position start, uint64_t bit_length, const Zc4PostingParams &posting_params, const bitcompression::PosOccFieldsParams &fields_params, const fef::TermFieldMatchDataArray &match_data, bool unpack_normal_features, bool unpack_interleaved_features) { using EC = bitcompression::EncodeContext64<bigEndian>; bitcompression::DecodeContext64<bigEndian> d(start.getOccurences(), start.getBitOffset()); @@ -61,15 +61,15 @@ create_zc_posocc_iterator(const PostingListCounts &counts, bitcompression::Posit assert((num_docs == counts._numDocs) || ((num_docs == posting_params._min_chunk_docs) && (num_docs < counts._numDocs))); if (num_docs < posting_params._min_skip_docs) { if (posting_params._dynamic_k) { - return std::make_unique<ZcRareWordPosOccIterator<bigEndian, true>>(start, bit_length, posting_params._doc_id_limit, posting_params._encode_features, posting_params._encode_cheap_features, unpack_normal_features, unpack_cheap_features, &fields_params, match_data); + return std::make_unique<ZcRareWordPosOccIterator<bigEndian, true>>(start, bit_length, posting_params._doc_id_limit, posting_params._encode_features, posting_params._encode_interleaved_features, unpack_normal_features, unpack_interleaved_features, &fields_params, match_data); } else { - return std::make_unique<ZcRareWordPosOccIterator<bigEndian, false>>(start, bit_length, posting_params._doc_id_limit, posting_params._encode_features, posting_params._encode_cheap_features, unpack_normal_features, unpack_cheap_features, &fields_params, match_data); + return std::make_unique<ZcRareWordPosOccIterator<bigEndian, false>>(start, bit_length, posting_params._doc_id_limit, posting_params._encode_features, posting_params._encode_interleaved_features, unpack_normal_features, unpack_interleaved_features, &fields_params, match_data); } } else { if (posting_params._dynamic_k) { - return std::make_unique<ZcPosOccIterator<bigEndian, true>>(start, bit_length, posting_params._doc_id_limit, posting_params._encode_features, posting_params._encode_cheap_features, unpack_normal_features, unpack_cheap_features, posting_params._min_chunk_docs, counts, &fields_params, match_data); + return std::make_unique<ZcPosOccIterator<bigEndian, true>>(start, bit_length, posting_params._doc_id_limit, posting_params._encode_features, posting_params._encode_interleaved_features, unpack_normal_features, unpack_interleaved_features, posting_params._min_chunk_docs, counts, &fields_params, match_data); } else { - return std::make_unique<ZcPosOccIterator<bigEndian, false>>(start, bit_length, posting_params._doc_id_limit, posting_params._encode_features, posting_params._encode_cheap_features, unpack_normal_features, unpack_cheap_features, posting_params._min_chunk_docs, counts, &fields_params, match_data); + return std::make_unique<ZcPosOccIterator<bigEndian, false>>(start, bit_length, posting_params._doc_id_limit, posting_params._encode_features, posting_params._encode_interleaved_features, unpack_normal_features, unpack_interleaved_features, posting_params._min_chunk_docs, counts, &fields_params, match_data); } } } @@ -78,11 +78,11 @@ std::unique_ptr<search::queryeval::SearchIterator> create_zc_posocc_iterator(bool bigEndian, const PostingListCounts &counts, bitcompression::Position start, uint64_t bit_length, const Zc4PostingParams &posting_params, const bitcompression::PosOccFieldsParams &fields_params, const fef::TermFieldMatchDataArray &match_data) { bool unpack_normal_features = match_data.valid() ? match_data[0]->needs_normal_features() : false; - bool unpack_cheap_features = match_data.valid() ? match_data[0]->needs_cheap_features() : false; + bool unpack_interleaved_features = match_data.valid() ? match_data[0]->needs_interleaved_features() : false; if (bigEndian) { - return create_zc_posocc_iterator<true>(counts, start, bit_length, posting_params, fields_params, match_data, unpack_normal_features, unpack_cheap_features); + return create_zc_posocc_iterator<true>(counts, start, bit_length, posting_params, fields_params, match_data, unpack_normal_features, unpack_interleaved_features); } else { - return create_zc_posocc_iterator<false>(counts, start, bit_length, posting_params, fields_params, match_data, unpack_normal_features, unpack_cheap_features); + return create_zc_posocc_iterator<false>(counts, start, bit_length, posting_params, fields_params, match_data, unpack_normal_features, unpack_interleaved_features); } } diff --git a/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.h b/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.h index 47c5455f259..3aeacd73735 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.h +++ b/searchlib/src/vespa/searchlib/diskindex/zcposocciterators.h @@ -20,8 +20,8 @@ private: DecodeContextReal _decodeContextReal; public: ZcRareWordPosOccIterator(Position start, uint64_t bitLength, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features, + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features, const bitcompression::PosOccFieldsParams *fieldsParams, const fef::TermFieldMatchDataArray &matchData); }; @@ -38,8 +38,8 @@ private: DecodeContext _decodeContextReal; public: ZcPosOccIterator(Position start, uint64_t bitLength, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features, + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features, uint32_t minChunkDocs, const index::PostingListCounts &counts, const bitcompression::PosOccFieldsParams *fieldsParams, const fef::TermFieldMatchDataArray &matchData); diff --git a/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.cpp b/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.cpp index aa4f15bc225..5f699f8a450 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.cpp +++ b/searchlib/src/vespa/searchlib/diskindex/zcposoccrandread.cpp @@ -26,7 +26,7 @@ namespace { vespalib::string myId4("Zc.4"); vespalib::string myId5("Zc.5"); -vespalib::string cheap_features("cheap_features"); +vespalib::string interleaved_features("interleaved_features"); } @@ -214,8 +214,8 @@ ZcPosOccRandRead::readHeader(const vespalib::string &identifier) _posting_params._min_chunk_docs = header.getTag("minChunkDocs").asInteger(); _posting_params._doc_id_limit = header.getTag("docIdLimit").asInteger(); _posting_params._min_skip_docs = header.getTag("minSkipDocs").asInteger(); - if (header.hasTag(cheap_features) && (header.getTag(cheap_features).asInteger() != 0)) { - _posting_params._encode_cheap_features = true; + if (header.hasTag(interleaved_features) && (header.getTag(interleaved_features).asInteger() != 0)) { + _posting_params._encode_interleaved_features = true; } // Read feature decoding specific subheader d.readHeader(header, "features."); diff --git a/searchlib/src/vespa/searchlib/diskindex/zcposting.cpp b/searchlib/src/vespa/searchlib/diskindex/zcposting.cpp index b03085b0b55..3f154c44cb9 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zcposting.cpp +++ b/searchlib/src/vespa/searchlib/diskindex/zcposting.cpp @@ -16,7 +16,7 @@ namespace { vespalib::string myId5("Zc.5"); vespalib::string myId4("Zc.4"); vespalib::string emptyId; -vespalib::string cheap_features("cheap_features"); +vespalib::string interleaved_features("interleaved_features"); } @@ -166,8 +166,8 @@ Zc4PostingSeqRead::readHeader() posting_params._min_chunk_docs = header.getTag("minChunkDocs").asInteger(); posting_params._doc_id_limit = header.getTag("docIdLimit").asInteger(); posting_params._min_skip_docs = header.getTag("minSkipDocs").asInteger(); - if (header.hasTag(cheap_features) && (header.getTag(cheap_features).asInteger() != 0)) { - posting_params._encode_cheap_features = true; + if (header.hasTag(interleaved_features) && (header.getTag(interleaved_features).asInteger() != 0)) { + posting_params._encode_interleaved_features = true; } assert(header.getTag("endian").asString() == "big"); // Read feature decoding specific subheader @@ -237,7 +237,7 @@ Zc4PostingSeqWrite::makeHeader(const FileHeaderContext &fileHeaderContext) header.putTag(Tag("fileBitSize", 0)); header.putTag(Tag("format.0", myId)); header.putTag(Tag("format.1", f.getIdentifier())); - header.putTag(Tag("cheap_features", _writer.get_encode_cheap_features() ? 1 : 0)); + header.putTag(Tag("interleaved_features", _writer.get_encode_interleaved_features() ? 1 : 0)); header.putTag(Tag("numWords", 0)); header.putTag(Tag("minChunkDocs", _writer.get_min_chunk_docs())); header.putTag(Tag("docIdLimit", _writer.get_docid_limit())); diff --git a/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.cpp b/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.cpp index 8573f674493..c90a2f7993c 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.cpp +++ b/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.cpp @@ -38,17 +38,17 @@ ZcIteratorBase::initRange(uint32_t beginid, uint32_t endid) template <bool bigEndian> ZcRareWordPostingIteratorBase<bigEndian>:: ZcRareWordPostingIteratorBase(const TermFieldMatchDataArray &matchData, Position start, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features) + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features) : ZcIteratorBase(matchData, start, docIdLimit), _decodeContext(nullptr), _residue(0), _prevDocId(0), _numDocs(0), _decode_normal_features(decode_normal_features), - _decode_cheap_features(decode_cheap_features), + _decode_interleaved_features(decode_interleaved_features), _unpack_normal_features(unpack_normal_features), - _unpack_cheap_features(unpack_cheap_features), + _unpack_interleaved_features(unpack_interleaved_features), _field_length(0), _num_occs(0) { } @@ -57,11 +57,11 @@ ZcRareWordPostingIteratorBase(const TermFieldMatchDataArray &matchData, Position template <bool bigEndian, bool dynamic_k> ZcRareWordPostingIterator<bigEndian, dynamic_k>:: ZcRareWordPostingIterator(const TermFieldMatchDataArray &matchData, Position start, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features) + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features) : ZcRareWordPostingIteratorBase<bigEndian>(matchData, start, docIdLimit, - decode_normal_features, decode_cheap_features, - unpack_normal_features, unpack_cheap_features), + decode_normal_features, decode_interleaved_features, + unpack_normal_features, unpack_interleaved_features), _doc_id_k_param() { } @@ -88,7 +88,7 @@ ZcRareWordPostingIterator<bigEndian, dynamic_k>::doSeek(uint32_t docId) printf("Decode docId=%d\n", oDocId); #endif - if (_decode_cheap_features) { + if (_decode_interleaved_features) { UC64_DECODEEXPGOLOMB_NS(o, K_VALUE_ZCPOSTING_FIELD_LENGTH, EC); _field_length = static_cast<uint32_t>(val64) + 1; UC64_DECODEEXPGOLOMB_NS(o, K_VALUE_ZCPOSTING_NUM_OCCS, EC); @@ -110,7 +110,7 @@ ZcRareWordPostingIterator<bigEndian, dynamic_k>::doSeek(uint32_t docId) printf("Decode docId=%d\n", oDocId); #endif - if (_decode_cheap_features) { + if (_decode_interleaved_features) { UC64_DECODEEXPGOLOMB_NS(o, K_VALUE_ZCPOSTING_FIELD_LENGTH, EC); _field_length = static_cast<uint32_t>(val64) + 1; UC64_DECODEEXPGOLOMB_NS(o, K_VALUE_ZCPOSTING_NUM_OCCS, EC); @@ -144,7 +144,7 @@ ZcRareWordPostingIteratorBase<bigEndian>::doUnpack(uint32_t docId) } else { _matchData[0]->reset(docId); } - if (_decode_cheap_features && _unpack_cheap_features) { + if (_decode_interleaved_features && _unpack_interleaved_features) { TermFieldMatchData *tfmd = _matchData[0]; tfmd->setFieldLength(_field_length); tfmd->setNumOccs(_num_occs); @@ -174,7 +174,7 @@ ZcRareWordPostingIterator<bigEndian, dynamic_k>::readWordStart(uint32_t docIdLim _doc_id_k_param.setup(_numDocs, docIdLimit); UC64_DECODEEXPGOLOMB_NS(o, _doc_id_k_param.get_doc_id_k(), EC); uint32_t docId = static_cast<uint32_t>(val64) + 1; - if (_decode_cheap_features) { + if (_decode_interleaved_features) { UC64_DECODEEXPGOLOMB_NS(o, K_VALUE_ZCPOSTING_FIELD_LENGTH, EC); _field_length = static_cast<uint32_t>(val64) + 1; UC64_DECODEEXPGOLOMB_NS(o, K_VALUE_ZCPOSTING_NUM_OCCS, EC); @@ -188,8 +188,8 @@ ZcRareWordPostingIterator<bigEndian, dynamic_k>::readWordStart(uint32_t docIdLim } ZcPostingIteratorBase::ZcPostingIteratorBase(const TermFieldMatchDataArray &matchData, Position start, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features) + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features) : ZcIteratorBase(matchData, start, docIdLimit), _valI(nullptr), _valIBase(nullptr), @@ -202,9 +202,9 @@ ZcPostingIteratorBase::ZcPostingIteratorBase(const TermFieldMatchDataArray &matc _featuresSize(0), _hasMore(false), _decode_normal_features(decode_normal_features), - _decode_cheap_features(decode_cheap_features), + _decode_interleaved_features(decode_interleaved_features), _unpack_normal_features(unpack_normal_features), - _unpack_cheap_features(unpack_cheap_features), + _unpack_interleaved_features(unpack_interleaved_features), _chunkNo(0), _field_length(0), _num_occs(0) @@ -218,11 +218,11 @@ ZcPostingIterator(uint32_t minChunkDocs, const PostingListCounts &counts, const search::fef::TermFieldMatchDataArray &matchData, Position start, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features) + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features) : ZcPostingIteratorBase(matchData, start, docIdLimit, - decode_normal_features, decode_cheap_features, - unpack_normal_features, unpack_cheap_features), + decode_normal_features, decode_interleaved_features, + unpack_normal_features, unpack_interleaved_features), _decodeContext(nullptr), _minChunkDocs(minChunkDocs), _docIdK(0), @@ -558,7 +558,7 @@ ZcPostingIteratorBase::doSeek(uint32_t docId) printf("Decode docId=%d\n", oDocId); #endif - if (_decode_cheap_features) { + if (_decode_interleaved_features) { ZCDECODE(oCompr, field_length = 1 +); ZCDECODE(oCompr, num_occs = 1 +); } @@ -566,7 +566,7 @@ ZcPostingIteratorBase::doSeek(uint32_t docId) } _valI = oCompr; setDocId(oDocId); - if (_decode_cheap_features) { + if (_decode_interleaved_features) { _field_length = field_length; _num_occs = num_occs; } @@ -596,7 +596,7 @@ ZcPostingIterator<bigEndian>::doUnpack(uint32_t docId) } else { _matchData[0]->reset(docId); } - if (_decode_cheap_features && _unpack_cheap_features) { + if (_decode_interleaved_features && _unpack_interleaved_features) { TermFieldMatchData *tfmd = _matchData[0]; tfmd->setFieldLength(_field_length); tfmd->setNumOccs(_num_occs); diff --git a/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.h b/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.h index d97c276edfd..297659cd1fe 100644 --- a/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.h +++ b/searchlib/src/vespa/searchlib/diskindex/zcpostingiterators.h @@ -69,15 +69,15 @@ public: uint32_t _prevDocId; // Previous document id uint32_t _numDocs; // Documents in chunk or word bool _decode_normal_features; - bool _decode_cheap_features; + bool _decode_interleaved_features; bool _unpack_normal_features; - bool _unpack_cheap_features; + bool _unpack_interleaved_features; uint32_t _field_length; uint32_t _num_occs; ZcRareWordPostingIteratorBase(const fef::TermFieldMatchDataArray &matchData, Position start, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features); + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features); void doUnpack(uint32_t docId) override; void rewind(Position start) override; @@ -120,17 +120,17 @@ class ZcRareWordPostingIterator : public ZcRareWordPostingIteratorBase<bigEndian using ParentClass::setAtEnd; using ParentClass::_numDocs; using ParentClass::_decode_normal_features; - using ParentClass::_decode_cheap_features; + using ParentClass::_decode_interleaved_features; using ParentClass::_unpack_normal_features; - using ParentClass::_unpack_cheap_features; + using ParentClass::_unpack_interleaved_features; using ParentClass::_field_length; using ParentClass::_num_occs; ZcPostingDocIdKParam<dynamic_k> _doc_id_k_param; public: using ParentClass::_decodeContext; ZcRareWordPostingIterator(const fef::TermFieldMatchDataArray &matchData, Position start, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features); + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features); void doSeek(uint32_t docId) override; void readWordStart(uint32_t docIdLimit) override; }; @@ -276,9 +276,9 @@ protected: uint64_t _featuresSize; bool _hasMore; bool _decode_normal_features; - bool _decode_cheap_features; + bool _decode_interleaved_features; bool _unpack_normal_features; - bool _unpack_cheap_features; + bool _unpack_interleaved_features; uint32_t _chunkNo; uint32_t _field_length; uint32_t _num_occs; @@ -287,7 +287,7 @@ protected: uint32_t docId = prevDocId + 1; ZCDECODE(_valI, docId +=); setDocId(docId); - if (_decode_cheap_features) { + if (_decode_interleaved_features) { ZCDECODE(_valI, _field_length = 1 +); ZCDECODE(_valI, _num_occs = 1 +); } @@ -301,8 +301,8 @@ protected: void doSeek(uint32_t docId) override; public: ZcPostingIteratorBase(const fef::TermFieldMatchDataArray &matchData, Position start, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features); + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features); }; template <bool bigEndian> @@ -330,8 +330,8 @@ public: ZcPostingIterator(uint32_t minChunkDocs, bool dynamicK, const PostingListCounts &counts, const search::fef::TermFieldMatchDataArray &matchData, Position start, uint32_t docIdLimit, - bool decode_normal_features, bool decode_cheap_features, - bool unpack_normal_features, bool unpack_cheap_features); + bool decode_normal_features, bool decode_interleaved_features, + bool unpack_normal_features, bool unpack_interleaved_features); void doUnpack(uint32_t docId) override; diff --git a/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.h b/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.h index 5f1b2ae2ffe..6a96edd1281 100644 --- a/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.h +++ b/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.h @@ -53,8 +53,8 @@ private: static constexpr uint16_t RAW_SCORE_FLAG = 1; static constexpr uint16_t MULTIPOS_FLAG = 2; static constexpr uint16_t UNPACK_NORMAL_FEATURES_FLAG = 4; - static constexpr uint16_t UNPACK_CHEAP_FEATURES_FLAG = 8; - static constexpr uint16_t UNPACK_ALL_FEATURES_MASK = UNPACK_NORMAL_FEATURES_FLAG | UNPACK_CHEAP_FEATURES_FLAG; + static constexpr uint16_t UNPACK_INTERLEAVED_FEATURES_FLAG = 8; + static constexpr uint16_t UNPACK_ALL_FEATURES_MASK = UNPACK_NORMAL_FEATURES_FLAG | UNPACK_INTERLEAVED_FEATURES_FLAG; uint32_t _docId; uint16_t _fieldId; @@ -259,17 +259,17 @@ public: * This indicates if this instance is actually used for ranking or not. * @return true if it is not needed. */ - bool isNotNeeded() const { return ((_flags & (UNPACK_NORMAL_FEATURES_FLAG | UNPACK_CHEAP_FEATURES_FLAG)) == 0u); } + bool isNotNeeded() const { return ((_flags & (UNPACK_NORMAL_FEATURES_FLAG | UNPACK_INTERLEAVED_FEATURES_FLAG)) == 0u); } bool needs_normal_features() const { return ((_flags & UNPACK_NORMAL_FEATURES_FLAG) != 0u); } - bool needs_cheap_features() const { return ((_flags & UNPACK_CHEAP_FEATURES_FLAG) != 0u); } + bool needs_interleaved_features() const { return ((_flags & UNPACK_INTERLEAVED_FEATURES_FLAG) != 0u); } /** * Tag that this instance is not really used for ranking. */ void tagAsNotNeeded() { - _flags &= ~(UNPACK_NORMAL_FEATURES_FLAG | UNPACK_CHEAP_FEATURES_FLAG); + _flags &= ~(UNPACK_NORMAL_FEATURES_FLAG | UNPACK_INTERLEAVED_FEATURES_FLAG); } /** @@ -286,11 +286,11 @@ public: /** * Tag that this instance is used for ranking (cheap features) */ - void setNeedCheapFeatures(bool needed) { + void setNeedInterleavedFeatures(bool needed) { if (needed) { - _flags |= UNPACK_CHEAP_FEATURES_FLAG; + _flags |= UNPACK_INTERLEAVED_FEATURES_FLAG; } else { - _flags &= ~UNPACK_CHEAP_FEATURES_FLAG; + _flags &= ~UNPACK_INTERLEAVED_FEATURES_FLAG; } } diff --git a/searchlib/src/vespa/searchlib/memoryindex/field_index.cpp b/searchlib/src/vespa/searchlib/memoryindex/field_index.cpp index 8daf87e1899..13a7a860d03 100644 --- a/searchlib/src/vespa/searchlib/memoryindex/field_index.cpp +++ b/searchlib/src/vespa/searchlib/memoryindex/field_index.cpp @@ -22,7 +22,7 @@ namespace search::memoryindex { namespace { -void set_cheap_features(DocIdAndFeatures &features) +void set_interleaved_features(DocIdAndFeatures &features) { // Set cheap features based on normal features. // TODO: Update when proper cheap features are present in memory index. @@ -192,7 +192,7 @@ FieldIndex::dump(search::index::IndexBuilder & indexBuilder) _featureStore.setupForReadFeatures(featureRef, decoder); decoder.readFeatures(features); features.set_doc_id(docId); - set_cheap_features(features); + set_interleaved_features(features); indexBuilder.add_document(features); } } else { @@ -205,7 +205,7 @@ FieldIndex::dump(search::index::IndexBuilder & indexBuilder) _featureStore.setupForReadFeatures(featureRef, decoder); decoder.readFeatures(features); features.set_doc_id(docId); - set_cheap_features(features); + set_interleaved_features(features); indexBuilder.add_document(features); } } diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fake_match_loop.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fake_match_loop.cpp index 7892f9fa70b..1b7f794826d 100644 --- a/searchlib/src/vespa/searchlib/test/fakedata/fake_match_loop.cpp +++ b/searchlib/src/vespa/searchlib/test/fakedata/fake_match_loop.cpp @@ -32,7 +32,7 @@ public: { _tfmda.add(&_md); _md.setNeedNormalFeatures(posting.enable_unpack_normal_features()); - _md.setNeedCheapFeatures(posting.enable_unpack_cheap_features()); + _md.setNeedInterleavedFeatures(posting.enable_unpack_interleaved_features()); _itr.reset(posting.createIterator(_tfmda)); } ~IteratorState() {} diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakeposting.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fakeposting.cpp index fed34c85be1..a72fa7703cd 100644 --- a/searchlib/src/vespa/searchlib/test/fakedata/fakeposting.cpp +++ b/searchlib/src/vespa/searchlib/test/fakedata/fakeposting.cpp @@ -50,7 +50,7 @@ FakePosting::l4SkipBitSize() const } bool -FakePosting::has_cheap_features() const +FakePosting::has_interleaved_features() const { return false; } @@ -62,7 +62,7 @@ FakePosting::enable_unpack_normal_features() const } bool -FakePosting::enable_unpack_cheap_features() const +FakePosting::enable_unpack_interleaved_features() const { return true; } diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakeposting.h b/searchlib/src/vespa/searchlib/test/fakedata/fakeposting.h index 2010345a2eb..3fcc2427880 100644 --- a/searchlib/src/vespa/searchlib/test/fakedata/fakeposting.h +++ b/searchlib/src/vespa/searchlib/test/fakedata/fakeposting.h @@ -62,11 +62,11 @@ public: virtual bool hasWordPositions() const = 0; - virtual bool has_cheap_features() const; + virtual bool has_interleaved_features() const; virtual bool enable_unpack_normal_features() const; - virtual bool enable_unpack_cheap_features() const; + virtual bool enable_unpack_interleaved_features() const; /* * Single posting list performance, without feature unpack. diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakeword.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fakeword.cpp index e40cfd1748c..19080acaad3 100644 --- a/searchlib/src/vespa/searchlib/test/fakedata/fakeword.cpp +++ b/searchlib/src/vespa/searchlib/test/fakedata/fakeword.cpp @@ -397,7 +397,7 @@ FakeWord::validate(search::queryeval::SearchIterator *iterator, const fef::TermFieldMatchDataArray &matchData, uint32_t stride, bool unpack_normal_features, - bool unpack_cheap_features, + bool unpack_interleaved_features, bool verbose) const { iterator->initFullRange(); @@ -435,7 +435,7 @@ FakeWord::validate(search::queryeval::SearchIterator *iterator, for (size_t lfi = 0; lfi < matchData.size(); ++lfi) { if (matchData[lfi]->getDocId() != docId) continue; - if (unpack_cheap_features) { + if (unpack_interleaved_features) { assert(d->_collapsedDocWordFeatures._field_len == matchData[lfi]->getFieldLength()); assert(d->_collapsedDocWordFeatures._num_occs == matchData[lfi]->getNumOccs()); } else { @@ -477,7 +477,7 @@ bool FakeWord::validate(search::queryeval::SearchIterator *iterator, const fef::TermFieldMatchDataArray &matchData, bool unpack_normal_features, - bool unpack_cheap_features, + bool unpack_interleaved_features, bool verbose) const { iterator->initFullRange(); @@ -503,7 +503,7 @@ FakeWord::validate(search::queryeval::SearchIterator *iterator, for (size_t lfi = 0; lfi < matchData.size(); ++lfi) { if (matchData[lfi]->getDocId() != docId) continue; - if (unpack_cheap_features) { + if (unpack_interleaved_features) { assert(d->_collapsedDocWordFeatures._field_len == matchData[lfi]->getFieldLength()); assert(d->_collapsedDocWordFeatures._num_occs == matchData[lfi]->getNumOccs()); } else { @@ -589,7 +589,7 @@ bool FakeWord::validate(FieldReader &fieldReader, uint32_t wordNum, const fef::TermFieldMatchDataArray &matchData, - bool decode_cheap_features, + bool decode_interleaved_features, bool verbose) const { uint32_t docId = 0; @@ -621,7 +621,7 @@ FakeWord::validate(FieldReader &fieldReader, docId = features.doc_id(); assert(d != de); assert(d->_docId == docId); - if (decode_cheap_features) { + if (decode_interleaved_features) { assert(d->_collapsedDocWordFeatures._field_len == features.field_length()); assert(d->_collapsedDocWordFeatures._num_occs == features.num_occs()); } diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakeword.h b/searchlib/src/vespa/searchlib/test/fakedata/fakeword.h index 1b0e315f157..30f960c2d4c 100644 --- a/searchlib/src/vespa/searchlib/test/fakedata/fakeword.h +++ b/searchlib/src/vespa/searchlib/test/fakedata/fakeword.h @@ -241,14 +241,14 @@ public: const fef::TermFieldMatchDataArray &matchData, uint32_t stride, bool unpack_normal_features, - bool unpack_cheap_features, + bool unpack_interleaved_features, bool verbose) const; bool validate(search::queryeval::SearchIterator *iterator, const fef::TermFieldMatchDataArray &matchData, bool unpack_normal_features, - bool unpack_cheap_features, + bool unpack_interleaved_features, bool verbose) const; bool validate(search::queryeval::SearchIterator *iterator, @@ -258,7 +258,7 @@ public: validate(search::diskindex::FieldReader &fieldReader, uint32_t wordNum, const fef::TermFieldMatchDataArray &matchData, - bool decode_cheap_features, + bool decode_interleaved_features, bool verbose) const; void validate(const std::vector<uint32_t> &docIds) const; diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp index f4189d0ce66..d6c8ffc5caf 100644 --- a/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp +++ b/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.cpp @@ -173,7 +173,7 @@ FakeZcFilterOcc::setupT(const FakeWord &fw) params.set("docIdLimit", fw._docIdLimit); params.set("minChunkDocs", _posting_params._min_chunk_docs); // Control chunking params.set("minSkipDocs", _posting_params._min_skip_docs); // Control skip info - params.set("cheap_features", _posting_params._encode_cheap_features); + params.set("interleaved_features", _posting_params._encode_interleaved_features); writer.set_posting_list_params(params); auto &writeContext = writer.get_write_context(); search::ComprBuffer &cb = writeContext; @@ -278,7 +278,7 @@ FakeZcFilterOcc::validate_read(const FakeWord &fw) const assert(features.doc_id() == doc._docId); assert(features.elements().size() == check_features.elements().size()); assert(features.word_positions().size() == check_features.word_positions().size()); - if (_posting_params._encode_cheap_features) { + if (_posting_params._encode_interleaved_features) { assert(features.field_length() == doc._collapsedDocWordFeatures._field_len); assert(features.num_occs() == doc._collapsedDocWordFeatures._num_occs); } @@ -318,9 +318,9 @@ FakeZcFilterOcc::hasWordPositions() const } bool -FakeZcFilterOcc::has_cheap_features() const +FakeZcFilterOcc::has_interleaved_features() const { - return _posting_params._encode_cheap_features; + return _posting_params._encode_interleaved_features; } size_t @@ -725,7 +725,7 @@ class FakeZc4SkipPosOcc : public FakeZcFilterOcc search::index::PostingListCounts _counts; protected: bool _unpack_normal_features; - bool _unpack_cheap_features; + bool _unpack_interleaved_features; FakeZc4SkipPosOcc(const FakeWord &fw, const Zc4PostingParams &posting_params, const char *name_suffix); public: FakeZc4SkipPosOcc(const FakeWord &fw); @@ -734,7 +734,7 @@ public: bool hasWordPositions() const override; SearchIterator *createIterator(const TermFieldMatchDataArray &matchData) const override; bool enable_unpack_normal_features() const override { return _unpack_normal_features; } - bool enable_unpack_cheap_features() const override { return _unpack_cheap_features; } + bool enable_unpack_interleaved_features() const override { return _unpack_interleaved_features; } }; @@ -743,7 +743,7 @@ FakeZc4SkipPosOcc<bigEndian>::FakeZc4SkipPosOcc(const FakeWord &fw, const Zc4Pos : FakeZcFilterOcc(fw, bigEndian, posting_params, name_suffix), _counts(), _unpack_normal_features(true), - _unpack_cheap_features(true) + _unpack_interleaved_features(true) { setup(fw); _counts._bitLength = _compressedBits; @@ -784,10 +784,10 @@ createIterator(const TermFieldMatchDataArray &matchData) const { if (matchData.valid()) { assert(_unpack_normal_features == matchData[0]->needs_normal_features()); - assert(_unpack_cheap_features == matchData[0]->needs_cheap_features()); + assert(_unpack_interleaved_features == matchData[0]->needs_interleaved_features()); } else { assert(!_unpack_normal_features); - assert(!_unpack_cheap_features); + assert(!_unpack_interleaved_features); } return create_zc_posocc_iterator(bigEndian, _counts, Position(_compressed.first, 0), _compressedBits, _posting_params, _fieldsParams, matchData).release(); } @@ -821,7 +821,7 @@ public: : FakeZc4SkipPosOcc<true>(fw, Zc4PostingParams(force_skip, disable_chunking, fw._docIdLimit, false, true, true), ".zc4skipposoccbe.cf.ncu") { - _unpack_cheap_features = false; + _unpack_interleaved_features = false; } }; @@ -854,7 +854,7 @@ public: : FakeZc4SkipPosOcc<true>(fw, Zc4PostingParams(disable_skip, disable_chunking, fw._docIdLimit, false, true, true), ".zc4noskipposoccbe.cf.ncu") { - _unpack_cheap_features = false; + _unpack_interleaved_features = false; } }; diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.h b/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.h index 398f537c67a..030c4b7e936 100644 --- a/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.h +++ b/searchlib/src/vespa/searchlib/test/fakedata/fakezcfilterocc.h @@ -57,7 +57,7 @@ public: size_t bitSize() const override; bool hasWordPositions() const override; - bool has_cheap_features() const override; + bool has_interleaved_features() const override; size_t skipBitSize() const override; size_t l1SkipBitSize() const override; size_t l2SkipBitSize() const override; diff --git a/searchlib/src/vespa/searchlib/test/memoryindex/ordered_field_index_inserter.h b/searchlib/src/vespa/searchlib/test/memoryindex/ordered_field_index_inserter.h index c14c454bad6..9680da7af11 100644 --- a/searchlib/src/vespa/searchlib/test/memoryindex/ordered_field_index_inserter.h +++ b/searchlib/src/vespa/searchlib/test/memoryindex/ordered_field_index_inserter.h @@ -11,7 +11,7 @@ class OrderedFieldIndexInserter : public IOrderedFieldIndexInserter { std::stringstream _ss; bool _first; bool _verbose; - bool _show_cheap_features; + bool _show_interleaved_features; uint32_t _fieldId; void @@ -28,7 +28,7 @@ public: : _ss(), _first(true), _verbose(false), - _show_cheap_features(false), + _show_interleaved_features(false), _fieldId(0) { } @@ -57,7 +57,7 @@ public: _ss << "("; auto wpi = features.word_positions().begin(); bool firstElement = true; - if (_show_cheap_features) { + if (_show_interleaved_features) { _ss << "fl=" << features.field_length() << ",occs=" << features.num_occs(); firstElement = false; @@ -114,7 +114,7 @@ public: } void setVerbose() { _verbose = true; } - void set_show_cheap_features() { _show_cheap_features = true; } + void set_show_interleaved_features() { _show_interleaved_features = true; } }; } |