diff options
author | Håvard Pettersen <havardpe@oath.com> | 2017-09-07 12:26:22 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@oath.com> | 2017-09-19 12:31:40 +0000 |
commit | 5dfbc2dbfc08fbe79704e210f210a27782a05ee1 (patch) | |
tree | 183815a22b1a20e4fe331c242ffcc8f511bfb044 /searchlib | |
parent | d825bb328c94e138ea87301282c85cc4edb5e585 (diff) |
enable tagging match data as needed (for re-init/use)
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp | 13 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/fef/termfieldmatchdata.h | 7 |
2 files changed, 20 insertions, 0 deletions
diff --git a/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp b/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp index 57fb19b7b23..2a6cc2501d8 100644 --- a/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp +++ b/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp @@ -207,4 +207,17 @@ TEST("Access subqueries") { EXPECT_EQUAL(0ULL, state.f3->getSubqueries()); } +TEST("require that TermFieldMatchData can be tagged as needed or not") { + TermFieldMatchData tfmd; + tfmd.setFieldId(123); + EXPECT_EQUAL(tfmd.getFieldId(),123u); + EXPECT_TRUE(!tfmd.isNotNeeded()); + tfmd.tagAsNotNeeded(); + EXPECT_EQUAL(tfmd.getFieldId(),123u); + EXPECT_TRUE(tfmd.isNotNeeded()); + tfmd.tagAsNeeded(); + EXPECT_EQUAL(tfmd.getFieldId(),123u); + EXPECT_TRUE(!tfmd.isNotNeeded()); +} + TEST_MAIN() { TEST_RUN_ALL(); } diff --git a/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.h b/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.h index 2d91764f7c9..018af889557 100644 --- a/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.h +++ b/searchlib/src/vespa/searchlib/fef/termfieldmatchdata.h @@ -258,6 +258,13 @@ public: } /** + * Tag that this instance is used for ranking. + */ + void tagAsNeeded() { + _fieldId = _fieldId & ~0x2000; + } + + /** * Special docId value indicating that no data has been saved yet. * This should match (or be above) endId() in search::queryeval::SearchIterator. * |