diff options
author | Jon Bratseth <bratseth@gmail.com> | 2023-01-27 15:22:20 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2023-01-27 15:22:20 +0100 |
commit | 5d278f289111a55400778cf4ebf085bf8003e9c4 (patch) | |
tree | 6bdf6af9378c0432eb1942ece78362b5926ab3c5 /container-search/src/test/java/com/yahoo/search | |
parent | cb4e4db9331b92dede6214d8b4fb6d9aaccd5be1 (diff) |
Dealias nn fields
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/searchers/ValidateNearestNeighborTestCase.java | 12 | ||||
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java | 15 |
2 files changed, 17 insertions, 10 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/searchers/ValidateNearestNeighborTestCase.java b/container-search/src/test/java/com/yahoo/search/searchers/ValidateNearestNeighborTestCase.java index 9a7e3915d19..e85280914d8 100644 --- a/container-search/src/test/java/com/yahoo/search/searchers/ValidateNearestNeighborTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/searchers/ValidateNearestNeighborTestCase.java @@ -63,12 +63,12 @@ public class ValidateNearestNeighborTestCase { )); } - private static TensorType tt_dense_dvector_42 = TensorType.fromSpec("tensor(x[42])"); - private static TensorType tt_dense_dvector_3 = TensorType.fromSpec("tensor(x[3])"); - private static TensorType tt_dense_dvector_2 = TensorType.fromSpec("tensor(x[2])"); - private static TensorType tt_dense_fvector_3 = TensorType.fromSpec("tensor<float>(x[3])"); - private static TensorType tt_dense_matrix_xy = TensorType.fromSpec("tensor(x[3],y[1])"); - private static TensorType tt_sparse_vector_x = TensorType.fromSpec("tensor(x{})"); + private static final TensorType tt_dense_dvector_42 = TensorType.fromSpec("tensor(x[42])"); + private static final TensorType tt_dense_dvector_3 = TensorType.fromSpec("tensor(x[3])"); + private static final TensorType tt_dense_dvector_2 = TensorType.fromSpec("tensor(x[2])"); + private static final TensorType tt_dense_fvector_3 = TensorType.fromSpec("tensor<float>(x[3])"); + private static final TensorType tt_dense_matrix_xy = TensorType.fromSpec("tensor(x[3],y[1])"); + private static final TensorType tt_sparse_vector_x = TensorType.fromSpec("tensor(x{})"); private Tensor makeTensor(TensorType tensorType) { return makeTensor(tensorType, 3); diff --git a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java index c15c3b2c5ea..bc9448f39d8 100644 --- a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java @@ -15,6 +15,7 @@ import com.yahoo.prelude.query.FuzzyItem; import com.yahoo.prelude.query.IndexedItem; import com.yahoo.prelude.query.Item; import com.yahoo.prelude.query.MarkerWordItem; +import com.yahoo.prelude.query.NearestNeighborItem; import com.yahoo.prelude.query.PhraseItem; import com.yahoo.prelude.query.PhraseSegmentItem; import com.yahoo.prelude.query.PrefixItem; @@ -990,21 +991,27 @@ public class YqlParserTestCase { .name("music") .command(new Command.Builder().indexname("title").command("index")) .command(new Command.Builder().indexname("year").command("attribute")) + .command(new Command.Builder().indexname("embedding").command("attribute")) .alias(new Alias.Builder().alias("song").indexname("title")) - .alias(new Alias.Builder().alias("from").indexname("year")))); + .alias(new Alias.Builder().alias("from").indexname("year")) + .alias(new Alias.Builder().alias("vector").indexname("embedding")))); IndexModel model = new IndexModel(modelConfig, (QrSearchersConfig) null); IndexFacts indexFacts = new IndexFacts(model); ParserEnvironment parserEnvironment = new ParserEnvironment().setIndexFacts(indexFacts); YqlParser configuredParser = new YqlParser(parserEnvironment); - QueryTree x = configuredParser.parse(new Parsable() - .setQuery("select * from sources * where title contains \"a\" and song contains \"b\" order by \"from\"")); - List<IndexedItem> terms = QueryTree.getPositiveTerms(x); + QueryTree query = configuredParser.parse(new Parsable() + .setQuery("select * from sources * where title contains \"a\" and song contains \"b\"" + + "and nearestNeighbor(vector, queryVector)" + + "order by \"from\"")); + List<IndexedItem> terms = QueryTree.getPositiveTerms(query); assertEquals(2, terms.size()); for (IndexedItem term : terms) assertEquals("title", term.getIndexName()); assertEquals(1, configuredParser.getSorting().fieldOrders().size()); assertEquals("year", configuredParser.getSorting().fieldOrders().get(0).getFieldName()); + var nnItem = (NearestNeighborItem)((AndItem)query.getRoot()).getItem(2); + assertEquals("embedding", nnItem.getIndexName()); } @Test |