summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2019-04-10 14:36:18 +0000
committerGeir Storli <geirst@verizonmedia.com>2019-04-11 06:48:56 +0000
commitbcf3638e212f8c2babb0e5a647c619a15171d467 (patch)
treef7fa59d756531d100dd30c5a2c253a12df9d788c /searchlib
parent8f8bca4c2869c3747bc1d7f58458d71ddbf81a3b (diff)
Rename search::memoryindex::DocumentRemover -> FieldIndexRemover.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/CMakeLists.txt2
-rw-r--r--searchlib/src/tests/memoryindex/document_remover/CMakeLists.txt8
-rw-r--r--searchlib/src/tests/memoryindex/field_index/field_index_test.cpp2
-rw-r--r--searchlib/src/tests/memoryindex/field_index_remover/.gitignore (renamed from searchlib/src/tests/memoryindex/document_remover/.gitignore)0
-rw-r--r--searchlib/src/tests/memoryindex/field_index_remover/CMakeLists.txt8
-rw-r--r--searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp (renamed from searchlib/src/tests/memoryindex/document_remover/document_remover_test.cpp)6
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/CMakeLists.txt2
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/documentinverter.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/field_index.h8
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/field_index_remover.cpp (renamed from searchlib/src/vespa/searchlib/memoryindex/document_remover.cpp)13
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/field_index_remover.h (renamed from searchlib/src/vespa/searchlib/memoryindex/document_remover.h)12
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/fieldinverter.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/fieldinverter.h4
13 files changed, 37 insertions, 32 deletions
diff --git a/searchlib/CMakeLists.txt b/searchlib/CMakeLists.txt
index 6d1695155a8..bf5046d25cb 100644
--- a/searchlib/CMakeLists.txt
+++ b/searchlib/CMakeLists.txt
@@ -175,9 +175,9 @@ vespa_define_module(
src/tests/ld-library-path
src/tests/memoryindex/compact_document_words_store
src/tests/memoryindex/datastore
- src/tests/memoryindex/document_remover
src/tests/memoryindex/documentinverter
src/tests/memoryindex/field_index
+ src/tests/memoryindex/field_index_remover
src/tests/memoryindex/fieldinverter
src/tests/memoryindex/memoryindex
src/tests/memoryindex/urlfieldinverter
diff --git a/searchlib/src/tests/memoryindex/document_remover/CMakeLists.txt b/searchlib/src/tests/memoryindex/document_remover/CMakeLists.txt
deleted file mode 100644
index 04e5b0ec126..00000000000
--- a/searchlib/src/tests/memoryindex/document_remover/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(searchlib_document_remover_test_app TEST
- SOURCES
- document_remover_test.cpp
- DEPENDS
- searchlib
-)
-vespa_add_test(NAME searchlib_document_remover_test_app COMMAND searchlib_document_remover_test_app)
diff --git a/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp b/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
index bc796c6c617..1d4c39b3097 100644
--- a/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
+++ b/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
@@ -505,7 +505,7 @@ public:
class MyDrainRemoves : IFieldIndexRemoveListener
{
- DocumentRemover &_remover;
+ FieldIndexRemover &_remover;
public:
virtual void remove(const vespalib::stringref, uint32_t) override { }
diff --git a/searchlib/src/tests/memoryindex/document_remover/.gitignore b/searchlib/src/tests/memoryindex/field_index_remover/.gitignore
index 2126f9147bd..2126f9147bd 100644
--- a/searchlib/src/tests/memoryindex/document_remover/.gitignore
+++ b/searchlib/src/tests/memoryindex/field_index_remover/.gitignore
diff --git a/searchlib/src/tests/memoryindex/field_index_remover/CMakeLists.txt b/searchlib/src/tests/memoryindex/field_index_remover/CMakeLists.txt
new file mode 100644
index 00000000000..ef75337c6b6
--- /dev/null
+++ b/searchlib/src/tests/memoryindex/field_index_remover/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(searchlib_field_index_remover_test_app TEST
+ SOURCES
+ field_index_remover_test.cpp
+ DEPENDS
+ searchlib
+)
+vespa_add_test(NAME searchlib_field_index_remover_test_app COMMAND searchlib_field_index_remover_test_app)
diff --git a/searchlib/src/tests/memoryindex/document_remover/document_remover_test.cpp b/searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp
index 101770d7807..17bee6f1236 100644
--- a/searchlib/src/tests/memoryindex/document_remover/document_remover_test.cpp
+++ b/searchlib/src/tests/memoryindex/field_index_remover/field_index_remover_test.cpp
@@ -2,7 +2,7 @@
#include <vespa/vespalib/testkit/testapp.h>
-#include <vespa/searchlib/memoryindex/document_remover.h>
+#include <vespa/searchlib/memoryindex/field_index_remover.h>
#include <vespa/searchlib/memoryindex/i_field_index_remove_listener.h>
#include <vespa/searchlib/memoryindex/wordstore.h>
#include <vespa/vespalib/test/insertion_operators.h>
@@ -65,7 +65,7 @@ struct Fixture
MockRemoveListener _listener;
std::vector<std::unique_ptr<WordStore>> _wordStores;
std::vector<std::map<vespalib::string, datastore::EntryRef>> _wordToRefMaps;
- std::vector<std::unique_ptr<DocumentRemover>> _removers;
+ std::vector<std::unique_ptr<FieldIndexRemover>> _removers;
Fixture()
: _listener(),
_wordStores(),
@@ -75,7 +75,7 @@ struct Fixture
uint32_t numFields = 4;
for (uint32_t fieldId = 0; fieldId < numFields; ++fieldId) {
_wordStores.push_back(std::make_unique<WordStore>());
- _removers.push_back(std::make_unique<DocumentRemover>
+ _removers.push_back(std::make_unique<FieldIndexRemover>
(*_wordStores.back()));
}
_wordToRefMaps.resize(numFields);
diff --git a/searchlib/src/vespa/searchlib/memoryindex/CMakeLists.txt b/searchlib/src/vespa/searchlib/memoryindex/CMakeLists.txt
index 0a0ed50be71..32e0ed42281 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/CMakeLists.txt
+++ b/searchlib/src/vespa/searchlib/memoryindex/CMakeLists.txt
@@ -3,10 +3,10 @@ vespa_add_library(searchlib_memoryindex OBJECT
SOURCES
compact_document_words_store.cpp
documentinverter.cpp
- document_remover.cpp
featurestore.cpp
field_index.cpp
field_index_collection.cpp
+ field_index_remover.cpp
fieldinverter.cpp
memoryindex.cpp
ordered_field_index_inserter.cpp
diff --git a/searchlib/src/vespa/searchlib/memoryindex/documentinverter.cpp b/searchlib/src/vespa/searchlib/memoryindex/documentinverter.cpp
index 6f1b86fc540..5eaa51d43ab 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/documentinverter.cpp
+++ b/searchlib/src/vespa/searchlib/memoryindex/documentinverter.cpp
@@ -178,7 +178,7 @@ DocumentInverter::pushDocuments(FieldIndexCollection &fieldIndexes,
uint32_t fieldId = 0;
for (auto &inverter : _inverters) {
FieldIndex &fieldIndex(**indexFieldIterator);
- DocumentRemover &remover(fieldIndex.getDocumentRemover());
+ FieldIndexRemover &remover(fieldIndex.getDocumentRemover());
OrderedFieldIndexInserter &inserter(fieldIndex.getInserter());
_pushThreads.execute(fieldId,
[inverter(inverter.get()), &remover, &inserter,
diff --git a/searchlib/src/vespa/searchlib/memoryindex/field_index.h b/searchlib/src/vespa/searchlib/memoryindex/field_index.h
index 3d4cce23f7d..75c4f6c49eb 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/field_index.h
+++ b/searchlib/src/vespa/searchlib/memoryindex/field_index.h
@@ -3,11 +3,11 @@
#pragma once
#include "featurestore.h"
+#include "field_index_remover.h"
#include "wordstore.h"
-#include "document_remover.h"
-#include <vespa/searchlib/btree/btreeroot.h>
#include <vespa/searchlib/btree/btree.h>
#include <vespa/searchlib/btree/btreenodeallocator.h>
+#include <vespa/searchlib/btree/btreeroot.h>
#include <vespa/searchlib/btree/btreestore.h>
#include <vespa/searchlib/index/docidandfeatures.h>
#include <vespa/searchlib/index/indexbuilder.h>
@@ -89,7 +89,7 @@ private:
PostingListStore _postingListStore;
FeatureStore _featureStore;
uint32_t _fieldId;
- DocumentRemover _remover;
+ FieldIndexRemover _remover;
std::unique_ptr<OrderedFieldIndexInserter> _inserter;
public:
@@ -153,7 +153,7 @@ public:
MemoryUsage getMemoryUsage() const;
DictionaryTree &getDictionaryTree() { return _dict; }
PostingListStore &getPostingListStore() { return _postingListStore; }
- DocumentRemover &getDocumentRemover() { return _remover; }
+ FieldIndexRemover &getDocumentRemover() { return _remover; }
void commit() {
_remover.flush();
diff --git a/searchlib/src/vespa/searchlib/memoryindex/document_remover.cpp b/searchlib/src/vespa/searchlib/memoryindex/field_index_remover.cpp
index b060762d238..0606192f3ac 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/document_remover.cpp
+++ b/searchlib/src/vespa/searchlib/memoryindex/field_index_remover.cpp
@@ -1,5 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "document_remover.h"
+
+#include "field_index_remover.h"
#include "i_field_index_remove_listener.h"
#include "wordstore.h"
#include <vespa/searchlib/common/sort.h>
@@ -9,7 +10,7 @@ namespace search::memoryindex {
using Builder = CompactDocumentWordsStore::Builder;
using Iterator = CompactDocumentWordsStore::Iterator;
-DocumentRemover::DocumentRemover(const WordStore &wordStore)
+FieldIndexRemover::FieldIndexRemover(const WordStore &wordStore)
: _store(),
_builder(),
_wordFieldDocTuples(),
@@ -17,10 +18,10 @@ DocumentRemover::DocumentRemover(const WordStore &wordStore)
{
}
-DocumentRemover::~DocumentRemover() = default;
+FieldIndexRemover::~FieldIndexRemover() = default;
void
-DocumentRemover::remove(uint32_t docId, IFieldIndexRemoveListener &listener)
+FieldIndexRemover::remove(uint32_t docId, IFieldIndexRemoveListener &listener)
{
Iterator itr = _store.get(docId);
if (itr.valid()) {
@@ -33,13 +34,13 @@ DocumentRemover::remove(uint32_t docId, IFieldIndexRemoveListener &listener)
}
void
-DocumentRemover::insert(datastore::EntryRef wordRef, uint32_t docId)
+FieldIndexRemover::insert(datastore::EntryRef wordRef, uint32_t docId)
{
_wordFieldDocTuples.emplace_back(wordRef, docId);
}
void
-DocumentRemover::flush()
+FieldIndexRemover::flush()
{
if (_wordFieldDocTuples.empty()) {
return;
diff --git a/searchlib/src/vespa/searchlib/memoryindex/document_remover.h b/searchlib/src/vespa/searchlib/memoryindex/field_index_remover.h
index 848c9f04b45..44037c82c6a 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/document_remover.h
+++ b/searchlib/src/vespa/searchlib/memoryindex/field_index_remover.h
@@ -10,9 +10,13 @@ class IFieldIndexRemoveListener;
class WordStore;
/**
- * Class used to remove documents from the memory index dictionary.
+ * Class used to handle removal of documents from a FieldIndex.
+ *
+ * It tracks all {word, docId} tuples that are inserted into the index,
+ * and when removing a document, all these {word, docId} tuples are sent to the component
+ * that is doing the actual removal (IFieldIndexRemoveListener).
*/
-class DocumentRemover : public IFieldIndexInsertListener {
+class FieldIndexRemover : public IFieldIndexInsertListener {
private:
struct WordFieldDocTuple {
datastore::EntryRef _wordRef;
@@ -44,8 +48,8 @@ private:
const WordStore &_wordStore;
public:
- DocumentRemover(const WordStore &wordStore);
- ~DocumentRemover();
+ FieldIndexRemover(const WordStore &wordStore);
+ ~FieldIndexRemover();
void remove(uint32_t docId, IFieldIndexRemoveListener &inverter);
CompactDocumentWordsStore &getStore() { return _store; }
const CompactDocumentWordsStore &getStore() const { return _store; }
diff --git a/searchlib/src/vespa/searchlib/memoryindex/fieldinverter.cpp b/searchlib/src/vespa/searchlib/memoryindex/fieldinverter.cpp
index 1303a93bdce..dd6270dd671 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/fieldinverter.cpp
+++ b/searchlib/src/vespa/searchlib/memoryindex/fieldinverter.cpp
@@ -459,7 +459,7 @@ struct FullRadix {
}
void
-FieldInverter::applyRemoves(DocumentRemover &remover)
+FieldInverter::applyRemoves(FieldIndexRemover &remover)
{
for (auto docId : _removeDocs) {
remover.remove(docId, *this);
diff --git a/searchlib/src/vespa/searchlib/memoryindex/fieldinverter.h b/searchlib/src/vespa/searchlib/memoryindex/fieldinverter.h
index c254da55f39..ecf2f8d8979 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/fieldinverter.h
+++ b/searchlib/src/vespa/searchlib/memoryindex/fieldinverter.h
@@ -16,7 +16,7 @@
namespace search::memoryindex {
class IOrderedFieldIndexInserter;
-class DocumentRemover;
+class FieldIndexRemover;
class FieldInverter : public IFieldIndexRemoveListener {
public:
@@ -326,7 +326,7 @@ public:
*
* @param remover document remover
*/
- void applyRemoves(DocumentRemover &remover);
+ void applyRemoves(FieldIndexRemover &remover);
/**
* Push inverted documents to field index structure using the given inserter.