public async Task CanUseAliasMapForTopLevelAliasAsync() { var parser = new LuceneQueryParser(); var result = await parser.ParseAsync("field1:value"); var aliasMap = new FieldMap { { "field1", "field2" } }; var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap); Assert.Equal("field2:value", aliased.ToString()); }
public async Task CanUseResolverAsync() { var parser = new LuceneQueryParser(); var result = await parser.ParseAsync("field1.nested:value"); var aliased = await FieldResolverQueryVisitor.RunAsync(result, f => f == "field1.nested"? "field2.nested" : null); Assert.Equal("field2.nested:value", aliased.ToString()); }
public async Task AliasMapShouldBeAppliedToAllLevels8Async() { var parser = new LuceneQueryParser(); var result = await parser.ParseAsync("field1.nested.childproperty:value"); var aliasMap = new FieldMap { { "field1.nested.childproperty", "field2.other.childproperty" } }; var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap); Assert.Equal("field2.other.childproperty:value", aliased.ToString()); }
public async Task CanApplyRootLevelAliasMapOnNestedTermAsync() { var parser = new LuceneQueryParser(); var result = await parser.ParseAsync("field1.nested.morenested:value"); var aliasMap = new FieldMap { { "field1.nested.morenested", "field2.nested.morenested" } }; var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap); Assert.Equal("field2.nested.morenested:value", aliased.ToString()); }
public async Task AliasMapShouldAllowDeepAliasesAsync() { var parser = new LuceneQueryParser(); var result = await parser.ParseAsync("level1.level2.level3.level4:value"); var aliasMap = new FieldMap { { "level1.level2.level3.level4", "alias1.alias2.level3.level4" } }; var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap); Assert.Equal("alias1.alias2.level3.level4:value", aliased.ToString()); }
public async Task AliasMapShouldBeAppliedToAllLevels2Async() { var parser = new LuceneQueryParser(); var result = await parser.ParseAsync("(field1.nested:value field1.another:blah)"); var aliasMap = new FieldMap { { "field1.nested", "field2.other" } }; var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap); Assert.Equal("(field2.other:value field1.another:blah)", aliased.ToString()); }
public async Task AliasMapShouldWorkOnGroupsAsync() { var parser = new LuceneQueryParser(); var result = await parser.ParseAsync("(field1.nested:value OR field1.thing:yep) another:works"); var aliasMap = new FieldMap { { "field1.nested", "field2.other" }, { "field1.thing", "field2.nice" } }; var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap); Assert.Equal("(field2.other:value OR field2.nice:yep) another:works", aliased.ToString()); }