diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-05-03 20:22:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-03 20:22:43 +0200 |
commit | dde286759cc3384f07b957364d3c9666aff60896 (patch) | |
tree | fa9b6fe4f2caef38b3536f92ceb703f49afc713c /container-search/src/test/java/com/yahoo/prelude/fastsearch | |
parent | de8e6f7128dc6489800eae8ce8cdcc6e3414475e (diff) |
Revert "Use schema-info"
Diffstat (limited to 'container-search/src/test/java/com/yahoo/prelude/fastsearch')
8 files changed, 479 insertions, 93 deletions
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 a174bde3902..8b21d1e03b2 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,8 +10,6 @@ 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; @@ -45,7 +43,7 @@ public class SlimeSummaryTestCase { @Test public void testDecodingEmpty() { - DocsumDefinitionSet docsum = createDocsumDefinitionSet(); + DocsumDefinitionSet docsum = createDocsumDefinitionSet(summary_cf); FastHit hit = new FastHit(); assertNull(docsum.lazyDecode("default", emptySummary(), hit)); assertNull(hit.getField("integer_field")); @@ -71,7 +69,7 @@ public class SlimeSummaryTestCase { @Test public void testTimeout() { - DocsumDefinitionSet docsum = createDocsumDefinitionSet(); + DocsumDefinitionSet docsum = createDocsumDefinitionSet(summary_cf); 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)); @@ -81,7 +79,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(); + DocsumDefinitionSet docsum = createDocsumDefinitionSet(summary_cf); FastHit hit = new FastHit(); assertNull(docsum.lazyDecode("default", fullSummary(tensor1, tensor2), hit)); assertEquals(4, hit.getField("integer_field")); @@ -129,10 +127,10 @@ public class SlimeSummaryTestCase { @Test public void testFieldAccessAPI() { - DocsumDefinitionSet partialDocsum1 = createPartialDocsumDefinitionSet1(); - DocsumDefinitionSet partialDocsum2 = createPartialDocsumDefinitionSet2(); - DocsumDefinitionSet partialDocsum3 = createPartialDocsumDefinitionSet3(); - DocsumDefinitionSet fullDocsum = createDocsumDefinitionSet(); + DocsumDefinitionSet partialDocsum1 = createDocsumDefinitionSet(partial_summary1_cf); + DocsumDefinitionSet partialDocsum2 = createDocsumDefinitionSet(partial_summary2_cf); + DocsumDefinitionSet partialDocsum3 = createDocsumDefinitionSet(partial_summary3_cf); + DocsumDefinitionSet fullDocsum = createDocsumDefinitionSet(summary_cf); FastHit hit = new FastHit(); Map<String, Object> expected = new HashMap<>(); @@ -439,59 +437,14 @@ public class SlimeSummaryTestCase { return buf.array(); } - 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 DocsumDefinitionSet createDocsumDefinitionSet(String configID) { + DocumentdbInfoConfig config = new ConfigGetter<>(DocumentdbInfoConfig.class).getConfig(configID); + return new DocsumDefinitionSet(config.documentdb(0)); } private static class Utf8FieldTraverser implements Hit.RawUtf8Consumer { - private final Map<String, Object> traversed; + private 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 new file mode 100644 index 00000000000..5aa5c84d936 --- /dev/null +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary1.cfg @@ -0,0 +1,10 @@ +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 new file mode 100644 index 00000000000..bc870a63d66 --- /dev/null +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary2.cfg @@ -0,0 +1,12 @@ +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 new file mode 100644 index 00000000000..5d7319fd393 --- /dev/null +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/partial-summary3.cfg @@ -0,0 +1,10 @@ +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 new file mode 100644 index 00000000000..e074eadcbc2 --- /dev/null +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/summary.cfg @@ -0,0 +1,36 @@ +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 da9d849db90..6921880d725 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,6 +1,8 @@ // 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; @@ -10,8 +12,6 @@ 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,8 +21,9 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; /** @@ -33,8 +34,37 @@ 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() { - DocsumDefinitionSet set = createDocsumDefinitionSet(); + String summary_cf = "file:src/test/java/com/yahoo/prelude/fastsearch/test/documentdb-info.cfg"; + DocsumDefinitionSet set = createDocsumDefinitionSet(summary_cf); FastHit hit = new FastHit(); set.lazyDecode(null, makeDocsum(), hit); @@ -57,6 +87,10 @@ 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(); @@ -76,18 +110,9 @@ public class DocsumDefinitionTestCase { return buf.array(); } - 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()); + public static DocsumDefinitionSet createDocsumDefinitionSet(String configID) { + DocumentdbInfoConfig config = new ConfigGetter<>(DocumentdbInfoConfig.class).getConfig(configID); + return new DocsumDefinitionSet(config.documentdb(0)); } } 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 c9193d08381..da93e0e845b 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,17 +24,12 @@ 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; @@ -61,8 +56,7 @@ public class FastSearcherTestCase { MockDispatcher.create(Collections.emptyList()), new SummaryParameters(null), new ClusterParams("testhittype"), - documentdbInfoConfig, - SchemaInfo.empty()); + documentdbInfoConfig); String query = "?junkparam=ignored"; Result result = doSearch(fastSearcher,new Query(query), 0, 10); @@ -96,8 +90,7 @@ public class FastSearcherTestCase { MockDispatcher.create(Collections.singletonList(new Node(0, "host0", 0))), new SummaryParameters(null), new ClusterParams("testhittype"), - documentdbInfoConfig, - SchemaInfo.empty()); + documentdbInfoConfig); Query q = new Query("?query=foo"); GroupingRequest request1 = GroupingRequest.newInstance(q); request1.setRootOperation(new AllOperation()); @@ -115,18 +108,13 @@ public class FastSearcherTestCase { @Test public void testSummaryNeedsQuery() { - 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()); + ConfigGetter<DocumentdbInfoConfig> getter = new ConfigGetter<>(DocumentdbInfoConfig.class); + DocumentdbInfoConfig config = getter.getConfig("file:src/test/java/com/yahoo/prelude/fastsearch/test/documentdb-info.cfg"); FastSearcher backend = new FastSearcher("container.0", MockDispatcher.create(Collections.singletonList(new Node(0, "host0", 0))), new SummaryParameters(null), new ClusterParams("testhittype"), - documentDb, - new SchemaInfo(List.of(schema.build()), Map.of())); + config); Query q = new Query("?query=foo"); Result result = doSearch(backend, q, 0, 10); assertFalse(backend.summaryNeedsQuery(q)); @@ -145,8 +133,7 @@ public class FastSearcherTestCase { dispatcher, new SummaryParameters(null), new ClusterParams("testhittype"), - documentdbInfoConfig, - SchemaInfo.empty()); + documentdbInfoConfig); 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 new file mode 100644 index 00000000000..cc65ab2565e --- /dev/null +++ b/container-search/src/test/java/com/yahoo/prelude/fastsearch/test/documentdb-info.cfg @@ -0,0 +1,353 @@ +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 |