summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/searchers
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2019-12-05 10:04:52 +0000
committerGeir Storli <geirst@verizonmedia.com>2019-12-05 13:30:46 +0000
commitf093b271f1f6aafa37079a889ae5d621db275dcb (patch)
tree840482cbb42ecffb42bdef1bea0d7647cf25984f /container-search/src/main/java/com/yahoo/search/searchers
parentc6484309cfe178a5d2610405460cfb0d4a89db4c (diff)
Allow nearest neighbor operator where attribute tensor and query tensor have different cell types (float vs double).
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/searchers')
-rw-r--r--container-search/src/main/java/com/yahoo/search/searchers/ValidateNearestNeighborSearcher.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/searchers/ValidateNearestNeighborSearcher.java b/container-search/src/main/java/com/yahoo/search/searchers/ValidateNearestNeighborSearcher.java
index 25c65783821..8cae081cada 100644
--- a/container-search/src/main/java/com/yahoo/search/searchers/ValidateNearestNeighborSearcher.java
+++ b/container-search/src/main/java/com/yahoo/search/searchers/ValidateNearestNeighborSearcher.java
@@ -85,6 +85,10 @@ public class ValidateNearestNeighborSearcher extends Searcher {
errorMessage = Optional.of(ErrorMessage.createIllegalQuery(description));
}
+ private static boolean isCompatible(TensorType lhs, TensorType rhs) {
+ return lhs.dimensions().equals(rhs.dimensions());
+ }
+
private static boolean isDenseVector(TensorType tt) {
List<TensorType.Dimension> dims = tt.dimensions();
if (dims.size() != 1) return false;
@@ -126,7 +130,7 @@ public class ValidateNearestNeighborSearcher extends Searcher {
setError(item.toString() + " field is not a tensor");
return;
}
- if (! fTensorType.equals(qTensorType)) {
+ if (! isCompatible(fTensorType, qTensorType)) {
setError(item.toString() + " field type "+fTensorType+" does not match query tensor type "+qTensorType);
return;
}