aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model/src/test/derived/sorting/attributes.cfg262
-rw-r--r--config-model/src/test/derived/sorting/sorting.sd85
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/SortingTestCase.java10
3 files changed, 343 insertions, 14 deletions
diff --git a/config-model/src/test/derived/sorting/attributes.cfg b/config-model/src/test/derived/sorting/attributes.cfg
index 5d44943535f..2bb7078a37d 100644
--- a/config-model/src/test/derived/sorting/attributes.cfg
+++ b/config-model/src/test/derived/sorting/attributes.cfg
@@ -1,4 +1,36 @@
-attribute[].name "syntaxcheck"
+attribute[].name "syntaxcheck1a"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].dictionary.type BTREE
+attribute[].dictionary.match UNCASED
+attribute[].match UNCASED
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].paged false
+attribute[].ismutable false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
+attribute[].sortlocale "en_US"
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].maxuncommittedmemory 77777
+attribute[].distancemetric EUCLIDEAN
+attribute[].index.hnsw.enabled false
+attribute[].index.hnsw.maxlinkspernode 16
+attribute[].index.hnsw.neighborstoexploreatinsert 200
+attribute[].index.hnsw.distancemetric EUCLIDEAN
+attribute[].index.hnsw.multithreadedindexing true
+attribute[].name "syntaxcheck2a"
attribute[].datatype STRING
attribute[].collectiontype SINGLE
attribute[].dictionary.type BTREE
@@ -11,8 +43,136 @@ attribute[].huge false
attribute[].paged false
attribute[].ismutable false
attribute[].sortascending false
+attribute[].sortfunction RAW
+attribute[].sortstrength SECONDARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].maxuncommittedmemory 77777
+attribute[].distancemetric EUCLIDEAN
+attribute[].index.hnsw.enabled false
+attribute[].index.hnsw.maxlinkspernode 16
+attribute[].index.hnsw.neighborstoexploreatinsert 200
+attribute[].index.hnsw.distancemetric EUCLIDEAN
+attribute[].index.hnsw.multithreadedindexing true
+attribute[].name "syntaxcheck3a"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].dictionary.type BTREE
+attribute[].dictionary.match UNCASED
+attribute[].match UNCASED
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].paged false
+attribute[].ismutable false
+attribute[].sortascending true
attribute[].sortfunction LOWERCASE
+attribute[].sortstrength TERTIARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].maxuncommittedmemory 77777
+attribute[].distancemetric EUCLIDEAN
+attribute[].index.hnsw.enabled false
+attribute[].index.hnsw.maxlinkspernode 16
+attribute[].index.hnsw.neighborstoexploreatinsert 200
+attribute[].index.hnsw.distancemetric EUCLIDEAN
+attribute[].index.hnsw.multithreadedindexing true
+attribute[].name "syntaxcheck4a"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].dictionary.type BTREE
+attribute[].dictionary.match UNCASED
+attribute[].match UNCASED
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].paged false
+attribute[].ismutable false
+attribute[].sortascending false
+attribute[].sortfunction UCA
+attribute[].sortstrength QUATERNARY
+attribute[].sortlocale "en_US"
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].maxuncommittedmemory 77777
+attribute[].distancemetric EUCLIDEAN
+attribute[].index.hnsw.enabled false
+attribute[].index.hnsw.maxlinkspernode 16
+attribute[].index.hnsw.neighborstoexploreatinsert 200
+attribute[].index.hnsw.distancemetric EUCLIDEAN
+attribute[].index.hnsw.multithreadedindexing true
+attribute[].name "syntaxcheck5a"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].dictionary.type BTREE
+attribute[].dictionary.match UNCASED
+attribute[].match UNCASED
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].paged false
+attribute[].ismutable false
+attribute[].sortascending true
+attribute[].sortfunction RAW
attribute[].sortstrength IDENTICAL
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].maxuncommittedmemory 77777
+attribute[].distancemetric EUCLIDEAN
+attribute[].index.hnsw.enabled false
+attribute[].index.hnsw.maxlinkspernode 16
+attribute[].index.hnsw.neighborstoexploreatinsert 200
+attribute[].index.hnsw.distancemetric EUCLIDEAN
+attribute[].index.hnsw.multithreadedindexing true
+attribute[].name "syntaxcheck1b"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].dictionary.type BTREE
+attribute[].dictionary.match UNCASED
+attribute[].match UNCASED
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].paged false
+attribute[].ismutable false
+attribute[].sortascending true
+attribute[].sortfunction UCA
+attribute[].sortstrength PRIMARY
attribute[].sortlocale "en_US"
attribute[].enablebitvectors false
attribute[].enableonlybitvector false
@@ -30,7 +190,7 @@ attribute[].index.hnsw.maxlinkspernode 16
attribute[].index.hnsw.neighborstoexploreatinsert 200
attribute[].index.hnsw.distancemetric EUCLIDEAN
attribute[].index.hnsw.multithreadedindexing true
-attribute[].name "syntaxcheck2"
+attribute[].name "syntaxcheck2b"
attribute[].datatype STRING
attribute[].collectiontype SINGLE
attribute[].dictionary.type BTREE
@@ -43,8 +203,72 @@ attribute[].huge false
attribute[].paged false
attribute[].ismutable false
attribute[].sortascending false
+attribute[].sortfunction RAW
+attribute[].sortstrength SECONDARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].maxuncommittedmemory 77777
+attribute[].distancemetric EUCLIDEAN
+attribute[].index.hnsw.enabled false
+attribute[].index.hnsw.maxlinkspernode 16
+attribute[].index.hnsw.neighborstoexploreatinsert 200
+attribute[].index.hnsw.distancemetric EUCLIDEAN
+attribute[].index.hnsw.multithreadedindexing true
+attribute[].name "syntaxcheck3b"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].dictionary.type BTREE
+attribute[].dictionary.match UNCASED
+attribute[].match UNCASED
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].paged false
+attribute[].ismutable false
+attribute[].sortascending true
attribute[].sortfunction LOWERCASE
-attribute[].sortstrength IDENTICAL
+attribute[].sortstrength TERTIARY
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].maxuncommittedmemory 77777
+attribute[].distancemetric EUCLIDEAN
+attribute[].index.hnsw.enabled false
+attribute[].index.hnsw.maxlinkspernode 16
+attribute[].index.hnsw.neighborstoexploreatinsert 200
+attribute[].index.hnsw.distancemetric EUCLIDEAN
+attribute[].index.hnsw.multithreadedindexing true
+attribute[].name "syntaxcheck4b"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].dictionary.type BTREE
+attribute[].dictionary.match UNCASED
+attribute[].match UNCASED
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].paged false
+attribute[].ismutable false
+attribute[].sortascending false
+attribute[].sortfunction UCA
+attribute[].sortstrength QUATERNARY
attribute[].sortlocale "en_US"
attribute[].enablebitvectors false
attribute[].enableonlybitvector false
@@ -62,6 +286,38 @@ attribute[].index.hnsw.maxlinkspernode 16
attribute[].index.hnsw.neighborstoexploreatinsert 200
attribute[].index.hnsw.distancemetric EUCLIDEAN
attribute[].index.hnsw.multithreadedindexing true
+attribute[].name "syntaxcheck5b"
+attribute[].datatype STRING
+attribute[].collectiontype SINGLE
+attribute[].dictionary.type BTREE
+attribute[].dictionary.match UNCASED
+attribute[].match UNCASED
+attribute[].removeifzero false
+attribute[].createifnonexistent false
+attribute[].fastsearch false
+attribute[].huge false
+attribute[].paged false
+attribute[].ismutable false
+attribute[].sortascending true
+attribute[].sortfunction RAW
+attribute[].sortstrength IDENTICAL
+attribute[].sortlocale ""
+attribute[].enablebitvectors false
+attribute[].enableonlybitvector false
+attribute[].fastaccess false
+attribute[].arity 8
+attribute[].lowerbound -9223372036854775808
+attribute[].upperbound 9223372036854775807
+attribute[].densepostinglistthreshold 0.4
+attribute[].tensortype ""
+attribute[].imported false
+attribute[].maxuncommittedmemory 77777
+attribute[].distancemetric EUCLIDEAN
+attribute[].index.hnsw.enabled false
+attribute[].index.hnsw.maxlinkspernode 16
+attribute[].index.hnsw.neighborstoexploreatinsert 200
+attribute[].index.hnsw.distancemetric EUCLIDEAN
+attribute[].index.hnsw.multithreadedindexing true
attribute[].name "infieldonly"
attribute[].datatype STRING
attribute[].collectiontype SINGLE
diff --git a/config-model/src/test/derived/sorting/sorting.sd b/config-model/src/test/derived/sorting/sorting.sd
index e1b9a8af2f1..a08b00ed9ac 100644
--- a/config-model/src/test/derived/sorting/sorting.sd
+++ b/config-model/src/test/derived/sorting/sorting.sd
@@ -3,42 +3,107 @@ search sorting {
document sorting {
- field syntaxcheck type string {
+ field syntaxcheck1a type string {
indexing: attribute
attribute {
sorting: ascending
- sorting: descending
sorting: function: uca
- sorting: function: raw
- sorting: function: lowercase
sorting: strength: primary
+ sorting: locale: en_US
+ }
+ }
+ field syntaxcheck2a type string {
+ indexing: attribute
+ attribute {
+ sorting: descending
+ sorting: function: raw
sorting: strength: secondary
+ }
+ }
+ field syntaxcheck3a type string {
+ indexing: attribute
+ attribute {
+ sorting: ascending
+ sorting: function: lowercase
sorting: strength: tertiary
+ }
+ }
+ field syntaxcheck4a type string {
+ indexing: attribute
+ attribute {
+ sorting: descending
+ sorting: function: uca
sorting: strength: quaternary
- sorting: strength: identical
sorting: locale: en_US
}
}
+ field syntaxcheck5a type string {
+ indexing: attribute
+ attribute {
+ sorting: ascending
+ sorting: function: raw
+ sorting: strength: identical
+ }
+ }
- field syntaxcheck2 type string {
+ field syntaxcheck1b type string {
indexing: attribute
attribute {
sorting {
ascending
- descending
function: uca
- function: raw
- function: lowercase
strength: primary
+ locale: en_US
+ }
+ }
+ }
+
+
+ field syntaxcheck2b type string {
+ indexing: attribute
+ attribute {
+ sorting {
+ descending
+ function: raw
strength: secondary
+ }
+ }
+ }
+
+ field syntaxcheck3b type string {
+ indexing: attribute
+ attribute {
+ sorting {
+ ascending
+ function: lowercase
strength: tertiary
+ }
+ }
+ }
+
+ field syntaxcheck4b type string {
+ indexing: attribute
+ attribute {
+ sorting {
+ descending
+ function: uca
strength: quaternary
- strength: identical
locale: en_US
}
}
}
+ field syntaxcheck5b type string {
+ indexing: attribute
+ attribute {
+ sorting {
+ ascending
+ function: raw
+ strength: identical
+ }
+ }
+ }
+
field infieldonly type string {
indexing: attribute
sorting {
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/SortingTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/SortingTestCase.java
index 7989bff3152..1e4556c0de1 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/SortingTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/SortingTestCase.java
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchdefinition.derived;
+import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.searchdefinition.parser.ParseException;
import org.junit.Test;
@@ -14,6 +15,13 @@ import java.io.IOException;
public class SortingTestCase extends AbstractExportingTestCase {
@Test
public void testDocumentDeriving() throws IOException, ParseException {
- assertCorrectDeriving("sorting");
+ assertCorrectDeriving("sorting",
+ new TestProperties().setExperimentalSdParsing(false));
+ }
+
+ @Test
+ public void testDocumentDerivingNewParser() throws IOException, ParseException {
+ assertCorrectDeriving("sorting",
+ new TestProperties().setExperimentalSdParsing(true));
}
}