diff options
Diffstat (limited to 'container-search/src/test/java/com/yahoo/prelude')
9 files changed, 95 insertions, 479 deletions
diff --git a/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java index 2d62e4c0154..434f4bcc8e0 100644 --- a/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/cluster/ClusterSearcherTestCase.java @@ -522,6 +522,7 @@ public class ClusterSearcherTestCase { DocumentdbInfoConfig.Builder documentDbConfig = new DocumentdbInfoConfig.Builder(); documentDbConfig.documentdb(new DocumentdbInfoConfig.Documentdb.Builder().name("type1")); + var schema = new Schema.Builder("type1"); DispatchConfig dispatchConfig = new DispatchConfig.Builder().build(); Dispatcher dispatcher = new Dispatcher(new RpcResourcePool(dispatchConfig), @@ -537,6 +538,7 @@ public class ClusterSearcherTestCase { qrSearchersConfig.build(), clusterConfig.build(), documentDbConfig.build(), + new SchemaInfo(List.of(schema.build()), Map.of()), dispatchers, vipStatus, null); diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/SlimeSummaryTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/SlimeSummaryTestCase.java index 8b21d1e03b2..a174bde3902 100644 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/SlimeSummaryTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/SlimeSummaryTestCase.java @@ -10,6 +10,8 @@ import com.yahoo.prelude.hitfield.XMLString; import com.yahoo.search.result.FeatureData; import com.yahoo.search.result.Hit; import com.yahoo.search.result.StructuredData; +import com.yahoo.search.schema.DocumentSummary; +import com.yahoo.search.schema.Schema; import com.yahoo.slime.BinaryFormat; import com.yahoo.slime.Cursor; import com.yahoo.slime.Slime; @@ -43,7 +45,7 @@ public class SlimeSummaryTestCase { @Test public void testDecodingEmpty() { - DocsumDefinitionSet docsum = createDocsumDefinitionSet(summary_cf); + DocsumDefinitionSet docsum = createDocsumDefinitionSet(); FastHit hit = new FastHit(); assertNull(docsum.lazyDecode("default", emptySummary(), hit)); assertNull(hit.getField("integer_field")); @@ -69,7 +71,7 @@ public class SlimeSummaryTestCase { @Test public void testTimeout() { - DocsumDefinitionSet docsum = createDocsumDefinitionSet(summary_cf); + DocsumDefinitionSet docsum = createDocsumDefinitionSet(); FastHit hit = new FastHit(); assertEquals("Hit hit index:null/0/000000000000000000000000 (relevance 0.0) [fasthit, globalid: 0 0 0 0 0 0 0 0 0 0 0 0, partId: 0, distributionkey: 0] failed: Timed out....", docsum.lazyDecode("default", timeoutSummary(), hit)); @@ -79,7 +81,7 @@ public class SlimeSummaryTestCase { public void testDecoding() { Tensor tensor1 = Tensor.from("tensor(x{},y{}):{{x:foo,y:bar}:0.1}"); Tensor tensor2 = Tensor.from("tensor(x[1],y[1]):{{x:0,y:0}:-0.3}"); - DocsumDefinitionSet docsum = createDocsumDefinitionSet(summary_cf); + DocsumDefinitionSet docsum = createDocsumDefinitionSet(); FastHit hit = new FastHit(); assertNull(docsum.lazyDecode("default", fullSummary(tensor1, tensor2), hit)); assertEquals(4, hit.getField("integer_field")); @@ -127,10 +129,10 @@ public class SlimeSummaryTestCase { @Test public void testFieldAccessAPI() { - DocsumDefinitionSet partialDocsum1 = createDocsumDefinitionSet(partial_summary1_cf); - DocsumDefinitionSet partialDocsum2 = createDocsumDefinitionSet(partial_summary2_cf); - DocsumDefinitionSet partialDocsum3 = createDocsumDefinitionSet(partial_summary3_cf); - DocsumDefinitionSet fullDocsum = createDocsumDefinitionSet(summary_cf); + DocsumDefinitionSet partialDocsum1 = createPartialDocsumDefinitionSet1(); + DocsumDefinitionSet partialDocsum2 = createPartialDocsumDefinitionSet2(); + DocsumDefinitionSet partialDocsum3 = createPartialDocsumDefinitionSet3(); + DocsumDefinitionSet fullDocsum = createDocsumDefinitionSet(); FastHit hit = new FastHit(); Map<String, Object> expected = new HashMap<>(); @@ -437,14 +439,59 @@ public class SlimeSummaryTestCase { return buf.array(); } - private DocsumDefinitionSet createDocsumDefinitionSet(String configID) { - DocumentdbInfoConfig config = new ConfigGetter<>(DocumentdbInfoConfig.class).getConfig(configID); - return new DocsumDefinitionSet(config.documentdb(0)); + private DocsumDefinitionSet createDocsumDefinitionSet() { + var schema = new Schema.Builder("test"); + var summary = new DocumentSummary.Builder("default"); + summary.add(new DocumentSummary.Field("integer_field", "integer")); + summary.add(new DocumentSummary.Field("short_field", "short")); + summary.add(new DocumentSummary.Field("byte_field", "byte")); + summary.add(new DocumentSummary.Field("float_field", "float")); + summary.add(new DocumentSummary.Field("double_field", "double")); + summary.add(new DocumentSummary.Field("int64_field", "int64")); + summary.add(new DocumentSummary.Field("string_field", "string")); + summary.add(new DocumentSummary.Field("data_field", "data")); + summary.add(new DocumentSummary.Field("longstring_field", "longstring")); + summary.add(new DocumentSummary.Field("longdata_field", "longdata")); + summary.add(new DocumentSummary.Field("xmlstring_field", "xmlstring")); + summary.add(new DocumentSummary.Field("jsonstring_field", "jsonstring")); + summary.add(new DocumentSummary.Field("tensor_field1", "tensor")); + summary.add(new DocumentSummary.Field("tensor_field2", "tensor")); + summary.add(new DocumentSummary.Field("summaryfeatures", "featuredata")); + schema.add(summary.build()); + return new DocsumDefinitionSet(schema.build()); + } + + private DocsumDefinitionSet createPartialDocsumDefinitionSet1() { + var schema = new Schema.Builder("test"); + var summary = new DocumentSummary.Builder("default"); + summary.add(new DocumentSummary.Field("integer_field", "integer")); + summary.add(new DocumentSummary.Field("short_field", "short")); + schema.add(summary.build()); + return new DocsumDefinitionSet(schema.build()); + } + + private DocsumDefinitionSet createPartialDocsumDefinitionSet2() { + var schema = new Schema.Builder("test"); + var summary = new DocumentSummary.Builder("default"); + summary.add(new DocumentSummary.Field("integer_field", "integer")); + summary.add(new DocumentSummary.Field("float_field", "float")); + summary.add(new DocumentSummary.Field("double_field", "double")); + schema.add(summary.build()); + return new DocsumDefinitionSet(schema.build()); + } + + private DocsumDefinitionSet createPartialDocsumDefinitionSet3() { + var schema = new Schema.Builder("test"); + var summary = new DocumentSummary.Builder("default"); + summary.add(new DocumentSummary.Field("integer_field", "integer")); + summary.add(new DocumentSummary.Field("string_field", "string")); + schema.add(summary.build()); + return new DocsumDefinitionSet(schema.build()); } private static class Utf8FieldTraverser implements Hit.RawUtf8Consumer { - private Map<String, Object> traversed; + private final Map<String, Object> traversed; public Utf8FieldTraverser(Map<String, Object> traversed) { this.traversed = traversed; diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary1.cfg b/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary1.cfg deleted file mode 100644 index 5aa5c84d936..00000000000 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary1.cfg +++ /dev/null @@ -1,10 +0,0 @@ -documentdb[1] -documentdb[0].name test -documentdb[0].summaryclass[1] -documentdb[0].summaryclass[0].name default -documentdb[0].summaryclass[0].id 1 -documentdb[0].summaryclass[0].fields[2] -documentdb[0].summaryclass[0].fields[0].name integer_field -documentdb[0].summaryclass[0].fields[0].type integer -documentdb[0].summaryclass[0].fields[1].name short_field -documentdb[0].summaryclass[0].fields[1].type short diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary2.cfg b/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary2.cfg deleted file mode 100644 index bc870a63d66..00000000000 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary2.cfg +++ /dev/null @@ -1,12 +0,0 @@ -documentdb[1] -documentdb[0].name test -documentdb[0].summaryclass[1] -documentdb[0].summaryclass[0].name default -documentdb[0].summaryclass[0].id 2 -documentdb[0].summaryclass[0].fields[3] -documentdb[0].summaryclass[0].fields[0].name integer_field -documentdb[0].summaryclass[0].fields[0].type integer -documentdb[0].summaryclass[0].fields[1].name float_field -documentdb[0].summaryclass[0].fields[1].type float -documentdb[0].summaryclass[0].fields[2].name double_field -documentdb[0].summaryclass[0].fields[2].type double diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary3.cfg b/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary3.cfg deleted file mode 100644 index 5d7319fd393..00000000000 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary3.cfg +++ /dev/null @@ -1,10 +0,0 @@ -documentdb[1] -documentdb[0].name test -documentdb[0].summaryclass[1] -documentdb[0].summaryclass[0].name partial3 -documentdb[0].summaryclass[0].id 3 -documentdb[0].summaryclass[0].fields[3] -documentdb[0].summaryclass[0].fields[0].name integer_field -documentdb[0].summaryclass[0].fields[0].type integer -documentdb[0].summaryclass[0].fields[1].name string_field -documentdb[0].summaryclass[0].fields[1].type string diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/summary.cfg b/container-search/src/test/java/com/yahoo/prelude/fastsearch/summary.cfg deleted file mode 100644 index e074eadcbc2..00000000000 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/summary.cfg +++ /dev/null @@ -1,36 +0,0 @@ -documentdb[1] -documentdb[0].name test -documentdb[0].summaryclass[1] -documentdb[0].summaryclass[0].name default -documentdb[0].summaryclass[0].id 0 -documentdb[0].summaryclass[0].fields[15] -documentdb[0].summaryclass[0].fields[0].name integer_field -documentdb[0].summaryclass[0].fields[0].type integer -documentdb[0].summaryclass[0].fields[1].name short_field -documentdb[0].summaryclass[0].fields[1].type short -documentdb[0].summaryclass[0].fields[2].name byte_field -documentdb[0].summaryclass[0].fields[2].type byte -documentdb[0].summaryclass[0].fields[3].name float_field -documentdb[0].summaryclass[0].fields[3].type float -documentdb[0].summaryclass[0].fields[4].name double_field -documentdb[0].summaryclass[0].fields[4].type double -documentdb[0].summaryclass[0].fields[5].name int64_field -documentdb[0].summaryclass[0].fields[5].type int64 -documentdb[0].summaryclass[0].fields[6].name string_field -documentdb[0].summaryclass[0].fields[6].type string -documentdb[0].summaryclass[0].fields[7].name data_field -documentdb[0].summaryclass[0].fields[7].type data -documentdb[0].summaryclass[0].fields[8].name longstring_field -documentdb[0].summaryclass[0].fields[8].type longstring -documentdb[0].summaryclass[0].fields[9].name longdata_field -documentdb[0].summaryclass[0].fields[9].type longdata -documentdb[0].summaryclass[0].fields[10].name xmlstring_field -documentdb[0].summaryclass[0].fields[10].type xmlstring -documentdb[0].summaryclass[0].fields[11].name jsonstring_field -documentdb[0].summaryclass[0].fields[11].type jsonstring -documentdb[0].summaryclass[0].fields[12].name tensor_field1 -documentdb[0].summaryclass[0].fields[12].type tensor -documentdb[0].summaryclass[0].fields[13].name tensor_field2 -documentdb[0].summaryclass[0].fields[13].type tensor -documentdb[0].summaryclass[0].fields[14].name summaryfeatures -documentdb[0].summaryclass[0].fields[14].type featuredata diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DocsumDefinitionTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DocsumDefinitionTestCase.java index 6921880d725..da9d849db90 100644 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DocsumDefinitionTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/DocsumDefinitionTestCase.java @@ -1,8 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.prelude.fastsearch.test; -import com.yahoo.config.subscription.ConfigGetter; -import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig; import com.yahoo.prelude.fastsearch.ByteField; import com.yahoo.prelude.fastsearch.DataField; import com.yahoo.prelude.fastsearch.DocsumDefinition; @@ -12,6 +10,8 @@ import com.yahoo.prelude.fastsearch.IntegerField; import com.yahoo.prelude.fastsearch.StringField; import com.yahoo.document.DocumentId; import com.yahoo.document.GlobalId; +import com.yahoo.search.schema.DocumentSummary; +import com.yahoo.search.schema.Schema; import com.yahoo.slime.BinaryFormat; import com.yahoo.slime.Cursor; import com.yahoo.slime.Slime; @@ -21,9 +21,8 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; /** @@ -34,37 +33,8 @@ import static org.junit.Assert.assertTrue; public class DocsumDefinitionTestCase { @Test - public void testReading() { - String summary_cf = "file:src/test/java/com/yahoo/prelude/fastsearch/test/documentdb-info.cfg"; - DocsumDefinitionSet set = createDocsumDefinitionSet(summary_cf); - - String[] defs = new String[] { "[default,default]", "[version1,version1]", - "[withranklog,withranklog]", "[version2,version2]", "[version3,version3]", - "[version4,version4]", "[version5,version5]" }; - String setAsString = set.toString(); - for (String d : defs) { - assertFalse(setAsString.indexOf(d) == -1); - } - assertEquals(7, set.size()); - - DocsumDefinition docsum0 = set.getDocsum("default"); - - assertNotNull(docsum0); - assertEquals("default", docsum0.getName()); - assertEquals(19, docsum0.getFieldCount()); - assertNull(docsum0.getField(19)); - assertEquals("DSHOST", docsum0.getField(7).getName()); - - assertTrue(docsum0.getField(1) instanceof StringField); - assertTrue(docsum0.getField(6) instanceof ByteField); - assertTrue(docsum0.getField(7) instanceof IntegerField); - assertTrue(docsum0.getField(18) instanceof DataField); - } - - @Test public void testDecoding() { - String summary_cf = "file:src/test/java/com/yahoo/prelude/fastsearch/test/documentdb-info.cfg"; - DocsumDefinitionSet set = createDocsumDefinitionSet(summary_cf); + DocsumDefinitionSet set = createDocsumDefinitionSet(); FastHit hit = new FastHit(); set.lazyDecode(null, makeDocsum(), hit); @@ -87,10 +57,6 @@ public class DocsumDefinitionTestCase { return sb.toString(); } - public static GlobalId createGlobalId(int docId) { - return new GlobalId((new DocumentId("id:ns:type::" + docId)).getGlobalId()); - } - public static byte[] makeDocsum() { Slime slime = new Slime(); Cursor docsum = slime.setObject(); @@ -110,9 +76,18 @@ public class DocsumDefinitionTestCase { return buf.array(); } - public static DocsumDefinitionSet createDocsumDefinitionSet(String configID) { - DocumentdbInfoConfig config = new ConfigGetter<>(DocumentdbInfoConfig.class).getConfig(configID); - return new DocsumDefinitionSet(config.documentdb(0)); + public static DocsumDefinitionSet createDocsumDefinitionSet() { + var schema = new Schema.Builder("test"); + var summary = new DocumentSummary.Builder("default"); + summary.add(new DocumentSummary.Field("TOPIC", "string")); + summary.add(new DocumentSummary.Field("TITLE", "string")); + summary.add(new DocumentSummary.Field("DYNTEASER", "string")); + summary.add(new DocumentSummary.Field("EXTINFOSOURCE", "integer")); + summary.add(new DocumentSummary.Field("LANG1", "integer")); + summary.add(new DocumentSummary.Field("WORDS", "integer")); + summary.add(new DocumentSummary.Field("BYTES", "byte")); + schema.add(summary.build()); + return new DocsumDefinitionSet(schema.build()); } } diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java index da93e0e845b..c9193d08381 100644 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/FastSearcherTestCase.java @@ -24,12 +24,17 @@ import com.yahoo.search.grouping.request.EachOperation; import com.yahoo.search.grouping.request.GroupingOperation; import com.yahoo.search.rendering.RendererRegistry; import com.yahoo.search.result.ErrorMessage; +import com.yahoo.search.schema.DocumentSummary; +import com.yahoo.search.schema.RankProfile; +import com.yahoo.search.schema.Schema; +import com.yahoo.search.schema.SchemaInfo; import com.yahoo.search.searchchain.Execution; import org.junit.Test; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; @@ -56,7 +61,8 @@ public class FastSearcherTestCase { MockDispatcher.create(Collections.emptyList()), new SummaryParameters(null), new ClusterParams("testhittype"), - documentdbInfoConfig); + documentdbInfoConfig, + SchemaInfo.empty()); String query = "?junkparam=ignored"; Result result = doSearch(fastSearcher,new Query(query), 0, 10); @@ -90,7 +96,8 @@ public class FastSearcherTestCase { MockDispatcher.create(Collections.singletonList(new Node(0, "host0", 0))), new SummaryParameters(null), new ClusterParams("testhittype"), - documentdbInfoConfig); + documentdbInfoConfig, + SchemaInfo.empty()); Query q = new Query("?query=foo"); GroupingRequest request1 = GroupingRequest.newInstance(q); request1.setRootOperation(new AllOperation()); @@ -108,13 +115,18 @@ public class FastSearcherTestCase { @Test public void testSummaryNeedsQuery() { - ConfigGetter<DocumentdbInfoConfig> getter = new ConfigGetter<>(DocumentdbInfoConfig.class); - DocumentdbInfoConfig config = getter.getConfig("file:src/test/java/com/yahoo/prelude/fastsearch/test/documentdb-info.cfg"); + var documentDb = new DocumentdbInfoConfig(new DocumentdbInfoConfig.Builder().documentdb(new DocumentdbInfoConfig.Documentdb.Builder().name("test"))); + var schema = new Schema.Builder("test") + .add(new DocumentSummary.Builder("default").build()) + .add(new RankProfile.Builder("default").setHasRankFeatures(false) + .setHasSummaryFeatures(false) + .build()); FastSearcher backend = new FastSearcher("container.0", MockDispatcher.create(Collections.singletonList(new Node(0, "host0", 0))), new SummaryParameters(null), new ClusterParams("testhittype"), - config); + documentDb, + new SchemaInfo(List.of(schema.build()), Map.of())); Query q = new Query("?query=foo"); Result result = doSearch(backend, q, 0, 10); assertFalse(backend.summaryNeedsQuery(q)); @@ -133,7 +145,8 @@ public class FastSearcherTestCase { dispatcher, new SummaryParameters(null), new ClusterParams("testhittype"), - documentdbInfoConfig); + documentdbInfoConfig, + SchemaInfo.empty()); Query q = new Query("?query=foo"); GroupingRequest request1 = GroupingRequest.newInstance(q); request1.setRootOperation(new AllOperation()); diff --git a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/documentdb-info.cfg b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/documentdb-info.cfg deleted file mode 100644 index cc65ab2565e..00000000000 --- a/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/documentdb-info.cfg +++ /dev/null @@ -1,353 +0,0 @@ -documentdb[1] -documentdb[0].name test -documentdb[0].summaryclass[7] -documentdb[0].summaryclass[0].name default -documentdb[0].summaryclass[0].id 0 -documentdb[0].summaryclass[0].fields[19] -documentdb[0].summaryclass[0].fields[0].name URL -documentdb[0].summaryclass[0].fields[0].type string -documentdb[0].summaryclass[0].fields[1].name TITLE -documentdb[0].summaryclass[0].fields[1].type string -documentdb[0].summaryclass[0].fields[2].name TEASER -documentdb[0].summaryclass[0].fields[2].type string -documentdb[0].summaryclass[0].fields[3].name TOPIC -documentdb[0].summaryclass[0].fields[3].type string -documentdb[0].summaryclass[0].fields[4].name FASTTOPIC -documentdb[0].summaryclass[0].fields[4].type string -documentdb[0].summaryclass[0].fields[5].name EXTINFO -documentdb[0].summaryclass[0].fields[5].type string -documentdb[0].summaryclass[0].fields[6].name EXTINFOSOURCE -documentdb[0].summaryclass[0].fields[6].type byte -documentdb[0].summaryclass[0].fields[7].name DSHOST -documentdb[0].summaryclass[0].fields[7].type integer -documentdb[0].summaryclass[0].fields[8].name DSKEY -documentdb[0].summaryclass[0].fields[8].type integer -documentdb[0].summaryclass[0].fields[9].name BYTES -documentdb[0].summaryclass[0].fields[9].type integer -documentdb[0].summaryclass[0].fields[10].name WORDS -documentdb[0].summaryclass[0].fields[10].type integer -documentdb[0].summaryclass[0].fields[11].name MODDATE -documentdb[0].summaryclass[0].fields[11].type integer -documentdb[0].summaryclass[0].fields[12].name CRAWLDATE -documentdb[0].summaryclass[0].fields[12].type integer -documentdb[0].summaryclass[0].fields[13].name LANG1 -documentdb[0].summaryclass[0].fields[13].type byte -documentdb[0].summaryclass[0].fields[14].name LANG2 -documentdb[0].summaryclass[0].fields[14].type byte -documentdb[0].summaryclass[0].fields[15].name LANG3 -documentdb[0].summaryclass[0].fields[15].type byte -documentdb[0].summaryclass[0].fields[16].name LANG4 -documentdb[0].summaryclass[0].fields[16].type byte -documentdb[0].summaryclass[0].fields[17].name IPADDRESS -documentdb[0].summaryclass[0].fields[17].type integer -documentdb[0].summaryclass[0].fields[18].name DOCVECTOR -documentdb[0].summaryclass[0].fields[18].type data -documentdb[0].summaryclass[1].name version1 -documentdb[0].summaryclass[1].id 1 -documentdb[0].summaryclass[1].fields[20] -documentdb[0].summaryclass[1].fields[0].name URL -documentdb[0].summaryclass[1].fields[0].type string -documentdb[0].summaryclass[1].fields[1].name TITLE -documentdb[0].summaryclass[1].fields[1].type string -documentdb[0].summaryclass[1].fields[2].name TEASER -documentdb[0].summaryclass[1].fields[2].type string -documentdb[0].summaryclass[1].fields[3].name TOPIC -documentdb[0].summaryclass[1].fields[3].type string -documentdb[0].summaryclass[1].fields[4].name FASTTOPIC -documentdb[0].summaryclass[1].fields[4].type string -documentdb[0].summaryclass[1].fields[5].name EXTINFO -documentdb[0].summaryclass[1].fields[5].type string -documentdb[0].summaryclass[1].fields[6].name EXTINFOSOURCE -documentdb[0].summaryclass[1].fields[6].type byte -documentdb[0].summaryclass[1].fields[7].name DSHOST -documentdb[0].summaryclass[1].fields[7].type integer -documentdb[0].summaryclass[1].fields[8].name DSKEY -documentdb[0].summaryclass[1].fields[8].type integer -documentdb[0].summaryclass[1].fields[9].name BYTES -documentdb[0].summaryclass[1].fields[9].type integer -documentdb[0].summaryclass[1].fields[10].name WORDS -documentdb[0].summaryclass[1].fields[10].type integer -documentdb[0].summaryclass[1].fields[11].name MODDATE -documentdb[0].summaryclass[1].fields[11].type integer -documentdb[0].summaryclass[1].fields[12].name CRAWLDATE -documentdb[0].summaryclass[1].fields[12].type integer -documentdb[0].summaryclass[1].fields[13].name LANG1 -documentdb[0].summaryclass[1].fields[13].type byte -documentdb[0].summaryclass[1].fields[14].name LANG2 -documentdb[0].summaryclass[1].fields[14].type byte -documentdb[0].summaryclass[1].fields[15].name LANG3 -documentdb[0].summaryclass[1].fields[15].type byte -documentdb[0].summaryclass[1].fields[16].name LANG4 -documentdb[0].summaryclass[1].fields[16].type byte -documentdb[0].summaryclass[1].fields[17].name IPADDRESS -documentdb[0].summaryclass[1].fields[17].type integer -documentdb[0].summaryclass[1].fields[18].name DOCVECTOR -documentdb[0].summaryclass[1].fields[18].type data -documentdb[0].summaryclass[1].fields[19].name PARTNERSITEIDS -documentdb[0].summaryclass[1].fields[19].type string -documentdb[0].summaryclass[2].name version2 -documentdb[0].summaryclass[2].id 2 -documentdb[0].summaryclass[2].fields[21] -documentdb[0].summaryclass[2].fields[0].name URL -documentdb[0].summaryclass[2].fields[0].type string -documentdb[0].summaryclass[2].fields[1].name TITLE -documentdb[0].summaryclass[2].fields[1].type string -documentdb[0].summaryclass[2].fields[2].name TEASER -documentdb[0].summaryclass[2].fields[2].type string -documentdb[0].summaryclass[2].fields[3].name TOPIC -documentdb[0].summaryclass[2].fields[3].type string -documentdb[0].summaryclass[2].fields[4].name FASTTOPIC -documentdb[0].summaryclass[2].fields[4].type string -documentdb[0].summaryclass[2].fields[5].name EXTINFO -documentdb[0].summaryclass[2].fields[5].type string -documentdb[0].summaryclass[2].fields[6].name EXTINFOSOURCE -documentdb[0].summaryclass[2].fields[6].type byte -documentdb[0].summaryclass[2].fields[7].name DSHOST -documentdb[0].summaryclass[2].fields[7].type integer -documentdb[0].summaryclass[2].fields[8].name DSKEY -documentdb[0].summaryclass[2].fields[8].type integer -documentdb[0].summaryclass[2].fields[9].name BYTES -documentdb[0].summaryclass[2].fields[9].type integer -documentdb[0].summaryclass[2].fields[10].name WORDS -documentdb[0].summaryclass[2].fields[10].type integer -documentdb[0].summaryclass[2].fields[11].name MODDATE -documentdb[0].summaryclass[2].fields[11].type integer -documentdb[0].summaryclass[2].fields[12].name CRAWLDATE -documentdb[0].summaryclass[2].fields[12].type integer -documentdb[0].summaryclass[2].fields[13].name LANG1 -documentdb[0].summaryclass[2].fields[13].type byte -documentdb[0].summaryclass[2].fields[14].name LANG2 -documentdb[0].summaryclass[2].fields[14].type byte -documentdb[0].summaryclass[2].fields[15].name LANG3 -documentdb[0].summaryclass[2].fields[15].type byte -documentdb[0].summaryclass[2].fields[16].name LANG4 -documentdb[0].summaryclass[2].fields[16].type byte -documentdb[0].summaryclass[2].fields[17].name IPADDRESS -documentdb[0].summaryclass[2].fields[17].type integer -documentdb[0].summaryclass[2].fields[18].name DOCVECTOR -documentdb[0].summaryclass[2].fields[18].type data -documentdb[0].summaryclass[2].fields[19].name PARTNERSITEIDS -documentdb[0].summaryclass[2].fields[19].type string -documentdb[0].summaryclass[2].fields[20].name DYNTEASER -documentdb[0].summaryclass[2].fields[20].type string -documentdb[0].summaryclass[3].name version3 -documentdb[0].summaryclass[3].id 3 -documentdb[0].summaryclass[3].fields[23] -documentdb[0].summaryclass[3].fields[0].name URL -documentdb[0].summaryclass[3].fields[0].type string -documentdb[0].summaryclass[3].fields[1].name TITLE -documentdb[0].summaryclass[3].fields[1].type string -documentdb[0].summaryclass[3].fields[2].name TEASER -documentdb[0].summaryclass[3].fields[2].type string -documentdb[0].summaryclass[3].fields[3].name TOPIC -documentdb[0].summaryclass[3].fields[3].type string -documentdb[0].summaryclass[3].fields[4].name FASTTOPIC -documentdb[0].summaryclass[3].fields[4].type string -documentdb[0].summaryclass[3].fields[5].name EXTINFO -documentdb[0].summaryclass[3].fields[5].type string -documentdb[0].summaryclass[3].fields[6].name EXTINFOSOURCE -documentdb[0].summaryclass[3].fields[6].type byte -documentdb[0].summaryclass[3].fields[7].name DSHOST -documentdb[0].summaryclass[3].fields[7].type integer -documentdb[0].summaryclass[3].fields[8].name DSKEY -documentdb[0].summaryclass[3].fields[8].type integer -documentdb[0].summaryclass[3].fields[9].name BYTES -documentdb[0].summaryclass[3].fields[9].type integer -documentdb[0].summaryclass[3].fields[10].name WORDS -documentdb[0].summaryclass[3].fields[10].type integer -documentdb[0].summaryclass[3].fields[11].name MODDATE -documentdb[0].summaryclass[3].fields[11].type integer -documentdb[0].summaryclass[3].fields[12].name CRAWLDATE -documentdb[0].summaryclass[3].fields[12].type integer -documentdb[0].summaryclass[3].fields[13].name LANG1 -documentdb[0].summaryclass[3].fields[13].type byte -documentdb[0].summaryclass[3].fields[14].name LANG2 -documentdb[0].summaryclass[3].fields[14].type byte -documentdb[0].summaryclass[3].fields[15].name LANG3 -documentdb[0].summaryclass[3].fields[15].type byte -documentdb[0].summaryclass[3].fields[16].name LANG4 -documentdb[0].summaryclass[3].fields[16].type byte -documentdb[0].summaryclass[3].fields[17].name IPADDRESS -documentdb[0].summaryclass[3].fields[17].type integer -documentdb[0].summaryclass[3].fields[18].name DOCVECTOR -documentdb[0].summaryclass[3].fields[18].type data -documentdb[0].summaryclass[3].fields[19].name PARTNERSITEIDS -documentdb[0].summaryclass[3].fields[19].type string -documentdb[0].summaryclass[3].fields[20].name MIMETYPE -documentdb[0].summaryclass[3].fields[20].type string -documentdb[0].summaryclass[3].fields[21].name STATICRANKLOG -documentdb[0].summaryclass[3].fields[21].type string -documentdb[0].summaryclass[3].fields[22].name DYNTEASER -documentdb[0].summaryclass[3].fields[22].type longstring -documentdb[0].summaryclass[4].name version4 -documentdb[0].summaryclass[4].id 4 -documentdb[0].summaryclass[4].fields[24] -documentdb[0].summaryclass[4].fields[0].name URL -documentdb[0].summaryclass[4].fields[0].type string -documentdb[0].summaryclass[4].fields[1].name CCURL -documentdb[0].summaryclass[4].fields[1].type string -documentdb[0].summaryclass[4].fields[2].name TITLE -documentdb[0].summaryclass[4].fields[2].type string -documentdb[0].summaryclass[4].fields[3].name TEASER -documentdb[0].summaryclass[4].fields[3].type string -documentdb[0].summaryclass[4].fields[4].name TOPIC -documentdb[0].summaryclass[4].fields[4].type string -documentdb[0].summaryclass[4].fields[5].name FASTTOPIC -documentdb[0].summaryclass[4].fields[5].type string -documentdb[0].summaryclass[4].fields[6].name EXTINFO -documentdb[0].summaryclass[4].fields[6].type string -documentdb[0].summaryclass[4].fields[7].name EXTINFOSOURCE -documentdb[0].summaryclass[4].fields[7].type byte -documentdb[0].summaryclass[4].fields[8].name DSHOST -documentdb[0].summaryclass[4].fields[8].type integer -documentdb[0].summaryclass[4].fields[9].name DSKEY -documentdb[0].summaryclass[4].fields[9].type integer -documentdb[0].summaryclass[4].fields[10].name BYTES -documentdb[0].summaryclass[4].fields[10].type integer -documentdb[0].summaryclass[4].fields[11].name WORDS -documentdb[0].summaryclass[4].fields[11].type integer -documentdb[0].summaryclass[4].fields[12].name MODDATE -documentdb[0].summaryclass[4].fields[12].type integer -documentdb[0].summaryclass[4].fields[13].name CRAWLDATE -documentdb[0].summaryclass[4].fields[13].type integer -documentdb[0].summaryclass[4].fields[14].name LANG1 -documentdb[0].summaryclass[4].fields[14].type byte -documentdb[0].summaryclass[4].fields[15].name LANG2 -documentdb[0].summaryclass[4].fields[15].type byte -documentdb[0].summaryclass[4].fields[16].name LANG3 -documentdb[0].summaryclass[4].fields[16].type byte -documentdb[0].summaryclass[4].fields[17].name LANG4 -documentdb[0].summaryclass[4].fields[17].type byte -documentdb[0].summaryclass[4].fields[18].name IPADDRESS -documentdb[0].summaryclass[4].fields[18].type integer -documentdb[0].summaryclass[4].fields[19].name DOCVECTOR -documentdb[0].summaryclass[4].fields[19].type data -documentdb[0].summaryclass[4].fields[20].name PARTNERSITEIDS -documentdb[0].summaryclass[4].fields[20].type string -documentdb[0].summaryclass[4].fields[21].name MIMETYPE -documentdb[0].summaryclass[4].fields[21].type string -documentdb[0].summaryclass[4].fields[22].name STATICRANKLOG -documentdb[0].summaryclass[4].fields[22].type string -documentdb[0].summaryclass[4].fields[23].name DYNTEASER -documentdb[0].summaryclass[4].fields[23].type longstring -documentdb[0].summaryclass[5].name version5 -documentdb[0].summaryclass[5].id 5 -documentdb[0].summaryclass[5].fields[25] -documentdb[0].summaryclass[5].fields[0].name URL -documentdb[0].summaryclass[5].fields[0].type string -documentdb[0].summaryclass[5].fields[1].name URLLIST -documentdb[0].summaryclass[5].fields[1].type string -documentdb[0].summaryclass[5].fields[2].name CCURL -documentdb[0].summaryclass[5].fields[2].type string -documentdb[0].summaryclass[5].fields[3].name TITLE -documentdb[0].summaryclass[5].fields[3].type string -documentdb[0].summaryclass[5].fields[4].name TEASER -documentdb[0].summaryclass[5].fields[4].type string -documentdb[0].summaryclass[5].fields[5].name TOPIC -documentdb[0].summaryclass[5].fields[5].type string -documentdb[0].summaryclass[5].fields[6].name FASTTOPIC -documentdb[0].summaryclass[5].fields[6].type string -documentdb[0].summaryclass[5].fields[7].name EXTINFO -documentdb[0].summaryclass[5].fields[7].type string -documentdb[0].summaryclass[5].fields[8].name EXTINFOSOURCE -documentdb[0].summaryclass[5].fields[8].type byte -documentdb[0].summaryclass[5].fields[9].name DSHOST -documentdb[0].summaryclass[5].fields[9].type integer -documentdb[0].summaryclass[5].fields[10].name DSKEY -documentdb[0].summaryclass[5].fields[10].type integer -documentdb[0].summaryclass[5].fields[11].name BYTES -documentdb[0].summaryclass[5].fields[11].type integer -documentdb[0].summaryclass[5].fields[12].name WORDS -documentdb[0].summaryclass[5].fields[12].type integer -documentdb[0].summaryclass[5].fields[13].name MODDATE -documentdb[0].summaryclass[5].fields[13].type integer -documentdb[0].summaryclass[5].fields[14].name CRAWLDATE -documentdb[0].summaryclass[5].fields[14].type integer -documentdb[0].summaryclass[5].fields[15].name LANG1 -documentdb[0].summaryclass[5].fields[15].type byte -documentdb[0].summaryclass[5].fields[16].name LANG2 -documentdb[0].summaryclass[5].fields[16].type byte -documentdb[0].summaryclass[5].fields[17].name LANG3 -documentdb[0].summaryclass[5].fields[17].type byte -documentdb[0].summaryclass[5].fields[18].name LANG4 -documentdb[0].summaryclass[5].fields[18].type byte -documentdb[0].summaryclass[5].fields[19].name IPADDRESS -documentdb[0].summaryclass[5].fields[19].type integer -documentdb[0].summaryclass[5].fields[20].name DOCVECTOR -documentdb[0].summaryclass[5].fields[20].type data -documentdb[0].summaryclass[5].fields[21].name PARTNERSITEIDS -documentdb[0].summaryclass[5].fields[21].type string -documentdb[0].summaryclass[5].fields[22].name MIMETYPE -documentdb[0].summaryclass[5].fields[22].type string -documentdb[0].summaryclass[5].fields[23].name STATICRANKLOG -documentdb[0].summaryclass[5].fields[23].type string -documentdb[0].summaryclass[5].fields[24].name DYNTEASER -documentdb[0].summaryclass[5].fields[24].type longstring -documentdb[0].summaryclass[6].name withranklog -documentdb[0].summaryclass[6].id 237 -documentdb[0].summaryclass[6].fields[31] -documentdb[0].summaryclass[6].fields[0].name BYTES -documentdb[0].summaryclass[6].fields[0].type integer -documentdb[0].summaryclass[6].fields[1].name CCURL -documentdb[0].summaryclass[6].fields[1].type string -documentdb[0].summaryclass[6].fields[2].name CRAWLDATE -documentdb[0].summaryclass[6].fields[2].type integer -documentdb[0].summaryclass[6].fields[3].name DOCVECTOR -documentdb[0].summaryclass[6].fields[3].type data -documentdb[0].summaryclass[6].fields[4].name DSHOST -documentdb[0].summaryclass[6].fields[4].type integer -documentdb[0].summaryclass[6].fields[5].name DSKEY -documentdb[0].summaryclass[6].fields[5].type integer -documentdb[0].summaryclass[6].fields[6].name DYNTEASER -documentdb[0].summaryclass[6].fields[6].type longstring -documentdb[0].summaryclass[6].fields[7].name DYNTEASERINPUT -documentdb[0].summaryclass[6].fields[7].type longstring -documentdb[0].summaryclass[6].fields[8].name EXTINFO -documentdb[0].summaryclass[6].fields[8].type string -documentdb[0].summaryclass[6].fields[9].name EXTINFOSOURCE -documentdb[0].summaryclass[6].fields[9].type byte -documentdb[0].summaryclass[6].fields[10].name FASTTOPIC -documentdb[0].summaryclass[6].fields[10].type string -documentdb[0].summaryclass[6].fields[11].name IPADDRESS -documentdb[0].summaryclass[6].fields[11].type integer -documentdb[0].summaryclass[6].fields[12].name JUNIPER -documentdb[0].summaryclass[6].fields[12].type longstring -documentdb[0].summaryclass[6].fields[13].name JUNIPERMETRIC -documentdb[0].summaryclass[6].fields[13].type integer -documentdb[0].summaryclass[6].fields[14].name LABEL -documentdb[0].summaryclass[6].fields[14].type string -documentdb[0].summaryclass[6].fields[15].name LANG1 -documentdb[0].summaryclass[6].fields[15].type byte -documentdb[0].summaryclass[6].fields[16].name LANG2 -documentdb[0].summaryclass[6].fields[16].type byte -documentdb[0].summaryclass[6].fields[17].name LANG3 -documentdb[0].summaryclass[6].fields[17].type byte -documentdb[0].summaryclass[6].fields[18].name LANG4 -documentdb[0].summaryclass[6].fields[18].type byte -documentdb[0].summaryclass[6].fields[19].name MIMETYPE -documentdb[0].summaryclass[6].fields[19].type string -documentdb[0].summaryclass[6].fields[20].name MODDATE -documentdb[0].summaryclass[6].fields[20].type integer -documentdb[0].summaryclass[6].fields[21].name PARTNERSITEIDS -documentdb[0].summaryclass[6].fields[21].type string -documentdb[0].summaryclass[6].fields[22].name RANKLOG -documentdb[0].summaryclass[6].fields[22].type string -documentdb[0].summaryclass[6].fields[23].name STATICRANK -documentdb[0].summaryclass[6].fields[23].type integer -documentdb[0].summaryclass[6].fields[24].name STATICRANKLOG -documentdb[0].summaryclass[6].fields[24].type string -documentdb[0].summaryclass[6].fields[25].name TEASER -documentdb[0].summaryclass[6].fields[25].type string -documentdb[0].summaryclass[6].fields[26].name TITLE -documentdb[0].summaryclass[6].fields[26].type string -documentdb[0].summaryclass[6].fields[27].name TOPIC -documentdb[0].summaryclass[6].fields[27].type string -documentdb[0].summaryclass[6].fields[28].name URL -documentdb[0].summaryclass[6].fields[28].type string -documentdb[0].summaryclass[6].fields[29].name URLLIST -documentdb[0].summaryclass[6].fields[29].type string -documentdb[0].summaryclass[6].fields[30].name WORDS -documentdb[0].summaryclass[6].fields[30].type integer -documentdb[0].rankprofile[0].name "default" -documentdb[0].rankprofile[0].hasSummaryFeatures false -documentdb[0].rankprofile[0].hasRankFeatures false |