use of com.yahoo.searchdefinition.document.TemporarySDField in project vespa by vespa-engine.
the class DocumentGraphValidatorTest method createDocumentReference.
private static void createDocumentReference(Search from, Search to, String refFieldName) {
SDField refField = new TemporarySDField(refFieldName, ReferenceDataType.createWithInferredId(TemporaryStructuredDataType.create(to.getName())));
SDDocumentType fromDocument = from.getDocument();
fromDocument.addField(refField);
Map<String, DocumentReference> originalMap = fromDocument.getDocumentReferences().get().referenceMap();
HashMap<String, DocumentReference> modifiedMap = new HashMap<>(originalMap);
modifiedMap.put(refFieldName, new DocumentReference(refField, to));
fromDocument.setDocumentReferences(new DocumentReferences(modifiedMap));
}
use of com.yahoo.searchdefinition.document.TemporarySDField in project vespa by vespa-engine.
the class SearchOrdererTestCase method createDocumentReference.
private static void createDocumentReference(Search from, Search to, String refFieldName) {
SDField refField = new TemporarySDField(refFieldName, ReferenceDataType.createWithInferredId(TemporaryStructuredDataType.create(to.getName())));
SDDocumentType fromDocument = from.getDocument();
fromDocument.addField(refField);
Map<String, DocumentReference> originalMap = fromDocument.getDocumentReferences().get().referenceMap();
HashMap<String, DocumentReference> modifiedMap = new HashMap<>(originalMap);
modifiedMap.put(refFieldName, new DocumentReference(refField, to));
fromDocument.setDocumentReferences(new DocumentReferences(modifiedMap));
}
use of com.yahoo.searchdefinition.document.TemporarySDField in project vespa by vespa-engine.
the class SDDocumentTypeOrdererTestCase method testOrder.
@Test
public void testOrder() {
List<SDDocumentType> types = new ArrayList<>();
SDDocumentType a = new SDDocumentType("a");
SDDocumentType b = new SDDocumentType("b");
SDDocumentType c = new SDDocumentType("c");
SDDocumentType d = new SDDocumentType("d");
SDDocumentType e = new SDDocumentType("e");
SDDocumentType f = new SDDocumentType("f");
SDDocumentType g = new SDDocumentType("g");
b.inherit(new TemporarySDDocumentType(new DataTypeName("a")));
c.inherit(new TemporarySDDocumentType(new DataTypeName("b")));
d.inherit(new TemporarySDDocumentType(new DataTypeName("e")));
g.inherit(new TemporarySDDocumentType(new DataTypeName("e")));
g.inherit(new TemporarySDDocumentType(new DataTypeName("c")));
SDField aFieldTypeB = new TemporarySDField("atypeb", DataType.STRING);
a.addField(aFieldTypeB);
SDField bFieldTypeC = new TemporarySDField("btypec", DataType.STRING);
b.addField(bFieldTypeC);
SDField cFieldTypeG = new TemporarySDField("ctypeg", DataType.STRING);
c.addField(cFieldTypeG);
SDField gFieldTypeF = new TemporarySDField("gtypef", DataType.STRING);
g.addField(gFieldTypeF);
SDField fFieldTypeC = new TemporarySDField("ftypec", DataType.STRING);
f.addField(fFieldTypeC);
SDField dFieldTypeE = new TemporarySDField("dtypee", DataType.STRING);
d.addField(dFieldTypeE);
types.add(a);
types.add(b);
types.add(c);
types.add(d);
types.add(e);
types.add(f);
types.add(g);
SDDocumentTypeOrderer app = new SDDocumentTypeOrderer(types, new BaseDeployLogger());
app.process();
assertEquals(7, app.processingOrder.size());
assertEquals(a, app.processingOrder.get(0));
assertEquals(b, app.processingOrder.get(1));
assertEquals(c, app.processingOrder.get(2));
assertEquals(e, app.processingOrder.get(3));
assertEquals(d, app.processingOrder.get(4));
assertEquals(f, app.processingOrder.get(5));
assertEquals(g, app.processingOrder.get(6));
}
use of com.yahoo.searchdefinition.document.TemporarySDField in project vespa by vespa-engine.
the class VsmFieldsTestCase method reference_type_field_is_unsearchable.
@Test
public void reference_type_field_is_unsearchable() {
Search search = new Search("test", MockApplicationPackage.createEmpty());
search.addDocument(new SDDocumentType("test"));
SDField refField = new TemporarySDField("ref_field", ReferenceDataType.createWithInferredId(TemporaryStructuredDataType.create("parent_type")));
refField.parseIndexingScript("{ summary }");
search.getDocument().addField(refField);
VsmFields vsmFields = new VsmFields(search);
VsmfieldsConfig.Builder cfgBuilder = new VsmfieldsConfig.Builder();
vsmFields.getConfig(cfgBuilder);
VsmfieldsConfig cfg = new VsmfieldsConfig(cfgBuilder);
assertEquals(1, cfg.fieldspec().size());
VsmfieldsConfig.Fieldspec fieldSpec = cfg.fieldspec().get(0);
assertEquals("ref_field", fieldSpec.name());
assertEquals(VsmfieldsConfig.Fieldspec.Searchmethod.NONE, fieldSpec.searchmethod());
}
Aggregations