Пример #1
0
void
Test::assertTermEditDistance(const vespalib::string &query, const vespalib::string &field,
                             uint32_t expectedDel, uint32_t expectedIns, uint32_t expectedSub)
{
    // Setup feature test.
    vespalib::string feature = "termEditDistance(foo)";
    FtFeatureTest ft(_factory, feature);
    ft.getIndexEnv().getBuilder().addField(FieldType::INDEX, CollectionType::SINGLE, "foo");
    StringMap foo;
    foo.add("foo", field);
    FT_SETUP(ft, query, foo, 1);

    // Execute and compare results.
    search::fef::test::RankResult exp;
    exp .addScore(feature + ".out", (feature_t)(expectedDel*1 + expectedIns*1 + expectedSub*1))
        .addScore(feature + ".del", (feature_t)expectedDel)
        .addScore(feature + ".ins", (feature_t)expectedIns)
        .addScore(feature + ".sub", (feature_t)expectedSub);
    ASSERT_TRUE(ft.execute(exp));
}
Пример #2
0
void addTypeName(Type type, const char *name)
{
	const char *n;
	if (!types.find(type, n))
		types.add(name, type);
}