use of com.yahoo.searchdefinition.document.SDField in project vespa by vespa-engine.
the class ValidateFieldTypesTest method createSingleImportedField.
private static ImportedFields createSingleImportedField(String fieldName, DataType dataType) {
Search targetSearch = new Search("target_doc", MockApplicationPackage.createEmpty());
SDField targetField = new SDField("target_field", dataType);
DocumentReference documentReference = new DocumentReference(new Field("reference_field"), targetSearch);
ImportedField importedField = new ImportedField(fieldName, documentReference, targetField);
return new ImportedFields(Collections.singletonMap(fieldName, importedField));
}
use of com.yahoo.searchdefinition.document.SDField in project vespa by vespa-engine.
the class LiteralBoostTestCase method testLiteralBoost.
/**
* Tests adding of literal boost constructs
*/
@Test
public void testLiteralBoost() {
Search search = new Search("literalboost", null);
RankProfileRegistry rankProfileRegistry = RankProfileRegistry.createRankProfileRegistryWithBuiltinRankProfiles(search);
SDDocumentType document = new SDDocumentType("literalboost");
search.addDocument(document);
SDField field1 = document.addField("a", DataType.STRING);
field1.parseIndexingScript("{ index }");
field1.setLiteralBoost(20);
RankProfile other = new RankProfile("other", search, rankProfileRegistry);
rankProfileRegistry.addRankProfile(other);
other.addRankSetting(new RankProfile.RankSetting("a", RankProfile.RankSetting.Type.LITERALBOOST, 333));
Processing.process(search, new BaseDeployLogger(), rankProfileRegistry, new QueryProfiles(), true);
DerivedConfiguration derived = new DerivedConfiguration(search, rankProfileRegistry, new QueryProfileRegistry());
// Check attribute fields
// TODO: assert content
derived.getAttributeFields();
// Check il script addition
assertIndexing(Arrays.asList("clear_state | guard { input a | tokenize normalize stem:\"SHORTEST\" | index a; }", "clear_state | guard { input a | tokenize | index a_literal; }"), search);
// Check index info addition
IndexInfo indexInfo = derived.getIndexInfo();
assertTrue(indexInfo.hasCommand("a", "literal-boost"));
}
use of com.yahoo.searchdefinition.document.SDField 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.SDField in project vespa by vespa-engine.
the class IndexSettingsTestCase method testStemmingSettings.
@Test
public void testStemmingSettings() throws IOException, ParseException {
Search search = SearchBuilder.buildFromFile("src/test/examples/indexsettings.sd");
SDField usingDefault = (SDField) search.getDocument().getField("usingdefault");
assertEquals(Stemming.SHORTEST, usingDefault.getStemming(search));
SDField notStemmed = (SDField) search.getDocument().getField("notstemmed");
assertEquals(Stemming.NONE, notStemmed.getStemming(search));
SDField allStemmed = (SDField) search.getDocument().getField("allstemmed");
assertEquals(Stemming.SHORTEST, allStemmed.getStemming(search));
SDField multiStemmed = (SDField) search.getDocument().getField("multiplestems");
assertEquals(Stemming.MULTIPLE, multiStemmed.getStemming(search));
}
use of com.yahoo.searchdefinition.document.SDField in project vespa by vespa-engine.
the class IntegerIndex2AttributeTestCase method testIntegerIndex2Attribute.
@Test
public void testIntegerIndex2Attribute() throws IOException, ParseException {
Search search = UnprocessingSearchBuilder.buildUnprocessedFromFile("src/test/examples/integerindex2attribute.sd");
search.process();
new IntegerIndex2Attribute(search, new BaseDeployLogger(), new RankProfileRegistry(), new QueryProfiles()).process(true);
SDField f;
f = search.getConcreteField("s1");
assertTrue(f.getAttributes().isEmpty());
assertTrue(f.existsIndex("s1"));
f = search.getConcreteField("s2");
assertEquals(f.getAttributes().size(), 1);
assertTrue(f.existsIndex("s2"));
f = search.getConcreteField("as1");
assertTrue(f.getAttributes().isEmpty());
assertTrue(f.existsIndex("as1"));
f = search.getConcreteField("as2");
assertEquals(f.getAttributes().size(), 1);
assertTrue(f.existsIndex("as2"));
f = search.getConcreteField("i1");
assertEquals(f.getAttributes().size(), 1);
assertTrue(!f.existsIndex("i1"));
f = search.getConcreteField("i2");
assertEquals(f.getAttributes().size(), 1);
assertTrue(!f.existsIndex("i2"));
f = search.getConcreteField("ai1");
assertEquals(search.getConcreteField("ai1").getAttributes().size(), 1);
assertTrue(!search.getConcreteField("ai1").existsIndex("ai1"));
f = search.getConcreteField("ai2");
assertEquals(f.getAttributes().size(), 1);
assertTrue(!f.existsIndex("ai2"));
}
Aggregations