diff options
author | Geir Storli <geirst@yahooinc.com> | 2023-01-16 17:38:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-16 17:38:35 +0100 |
commit | c18caefd28001e38c49b3ba2f1cbd1ca030062c5 (patch) | |
tree | 4d615ebebc2ba7541e8d8fbab2437b8a50aa8449 /searchlib | |
parent | d47768eb2c125135f0add87756ef0cb773cf58c3 (diff) | |
parent | 1eb1d6e0a40f6e254ff8e339d224cbf21382150e (diff) |
Merge pull request #25589 from vespa-engine/toregge/relax-validation-of-nearest-neighbor-searcher
Relax validation of nearest neighbor searcher (java).
Diffstat (limited to 'searchlib')
4 files changed, 5 insertions, 33 deletions
diff --git a/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_iterator.cpp b/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_iterator.cpp index b3f8195676d..92c9a21db83 100644 --- a/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_iterator.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_iterator.cpp @@ -13,17 +13,6 @@ using vespalib::eval::CellType; namespace search::queryeval { -namespace { - -bool -is_compatible(const vespalib::eval::ValueType& lhs, - const vespalib::eval::ValueType& rhs) -{ - return (lhs.dimensions() == rhs.dimensions()); -} - -} - /** * Search iterator for K nearest neighbor matching. * Uses unpack() as feedback mechanism to track which matches actually became hits. @@ -39,8 +28,6 @@ public: : NearestNeighborIterator(params_in), _lastScore(0.0) { - assert(is_compatible(params().distance_calc.attribute_tensor().getTensorType(), - params().distance_calc.query_tensor().type())); } ~NearestNeighborImpl(); diff --git a/searchlib/src/vespa/searchlib/tensor/dense_tensor_attribute.cpp b/searchlib/src/vespa/searchlib/tensor/dense_tensor_attribute.cpp index ca09c0e58d9..157cbd41a95 100644 --- a/searchlib/src/vespa/searchlib/tensor/dense_tensor_attribute.cpp +++ b/searchlib/src/vespa/searchlib/tensor/dense_tensor_attribute.cpp @@ -1,15 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "dense_tensor_attribute.h" -#include "nearest_neighbor_index.h" -#include "tensor_attribute_loader.h" -#include "tensor_attribute_saver.h" -#include <vespa/eval/eval/value.h> #include <vespa/searchcommon/attribute/config.h> -#include <vespa/vespalib/data/slime/inserter.h> - -using vespalib::eval::Value; -using vespalib::slime::ObjectInserter; namespace search::tensor { @@ -37,17 +29,6 @@ DenseTensorAttribute::extract_cells_ref(DocId docId) const return _denseTensorStore.get_typed_cells(ref); } -void -DenseTensorAttribute::get_state(const vespalib::slime::Inserter& inserter) const -{ - auto& object = inserter.insertObject(); - populate_state(object); - if (_index) { - ObjectInserter index_inserter(object, "nearest_neighbor_index"); - _index->get_state(index_inserter); - } -} - vespalib::eval::TypedCells DenseTensorAttribute::get_vector(uint32_t docid, uint32_t subspace) const { diff --git a/searchlib/src/vespa/searchlib/tensor/dense_tensor_attribute.h b/searchlib/src/vespa/searchlib/tensor/dense_tensor_attribute.h index 89f0fd1bd06..8bda4bdacd7 100644 --- a/searchlib/src/vespa/searchlib/tensor/dense_tensor_attribute.h +++ b/searchlib/src/vespa/searchlib/tensor/dense_tensor_attribute.h @@ -24,7 +24,6 @@ public: // Implements AttributeVector and ITensorAttribute vespalib::eval::TypedCells extract_cells_ref(DocId docId) const override; bool supports_extract_cells_ref() const override { return true; } - void get_state(const vespalib::slime::Inserter& inserter) const override; // Implements DocVectorAccess vespalib::eval::TypedCells get_vector(uint32_t docid, uint32_t subspace) const override; diff --git a/searchlib/src/vespa/searchlib/tensor/tensor_attribute.cpp b/searchlib/src/vespa/searchlib/tensor/tensor_attribute.cpp index 5c50b2d83a2..b63034acfc4 100644 --- a/searchlib/src/vespa/searchlib/tensor/tensor_attribute.cpp +++ b/searchlib/src/vespa/searchlib/tensor/tensor_attribute.cpp @@ -30,6 +30,7 @@ using vespalib::eval::FastValueBuilderFactory; using vespalib::eval::TensorSpec; using vespalib::eval::Value; using vespalib::eval::ValueType; +using vespalib::slime::ObjectInserter; namespace search::tensor { @@ -224,6 +225,10 @@ TensorAttribute::populate_state(vespalib::slime::Cursor& object) const object.setObject("ref_vector").setObject("memory_usage")); StateExplorerUtils::memory_usage_to_slime(_tensorStore.getMemoryUsage(), object.setObject("tensor_store").setObject("memory_usage")); + if (_index) { + ObjectInserter index_inserter(object, "nearest_neighbor_index"); + _index->get_state(index_inserter); + } } void |