public virtual void TestBadPrefixTreePrune() { IShape area = ctx.ReadShapeFromWkt("POLYGON((-122.83 48.57, -122.77 48.56, -122.79 48.53, -122.83 48.57))"); SpatialPrefixTree trie = new QuadPrefixTree(ctx, 12); TermQueryPrefixTreeStrategy strategy = new TermQueryPrefixTreeStrategy(trie, "geo"); Document doc = new Document(); doc.Add(new TextField("id", "1", Field.Store.YES)); Field[] fields = strategy.CreateIndexableFields(area, 0.025); foreach (Field field in fields) { doc.Add(field); } AddDocument(doc); IPoint upperleft = ctx.MakePoint(-122.88, 48.54); IPoint lowerright = ctx.MakePoint(-122.82, 48.62); Query query = strategy.MakeQuery(new SpatialArgs(SpatialOperation.Intersects, ctx.MakeRectangle(upperleft, lowerright))); Commit(); TopDocs search = indexSearcher.Search(query, 10); ScoreDoc[] scoreDocs = search.ScoreDocs; foreach (ScoreDoc scoreDoc in scoreDocs) { Console.WriteLine(indexSearcher.Doc(scoreDoc.Doc)); } assertEquals(1, search.TotalHits); }
//@ParametersFactory public static IList <Object[]> Parameters() { List <Object[]> ctorArgs = new List <object[]>(); SpatialContext ctx = SpatialContext.GEO; SpatialPrefixTree grid; SpatialStrategy strategy; grid = new GeohashPrefixTree(ctx, 12); strategy = new RecursivePrefixTreeStrategy(grid, "recursive_geohash"); ctorArgs.Add(new Object[] { new Param(strategy) }); grid = new QuadPrefixTree(ctx, 25); strategy = new RecursivePrefixTreeStrategy(grid, "recursive_quad"); ctorArgs.Add(new Object[] { new Param(strategy) }); grid = new GeohashPrefixTree(ctx, 12); strategy = new TermQueryPrefixTreeStrategy(grid, "termquery_geohash"); ctorArgs.Add(new Object[] { new Param(strategy) }); strategy = new PointVectorStrategy(ctx, "pointvector"); ctorArgs.Add(new Object[] { new Param(strategy) }); return(ctorArgs); }
public virtual void TestEqualsHashCode() { SpatialPrefixTree gridQuad = new QuadPrefixTree(ctx, 10); SpatialPrefixTree gridGeohash = new GeohashPrefixTree(ctx, 10); List <SpatialStrategy> strategies = new List <SpatialStrategy>(); strategies.Add(new RecursivePrefixTreeStrategy(gridGeohash, "recursive_geohash")); strategies.Add(new TermQueryPrefixTreeStrategy(gridQuad, "termquery_quad")); strategies.Add(new PointVectorStrategy(ctx, "pointvector")); //strategies.Add(new BBoxStrategy(ctx, "bbox")); strategies.Add(new SerializedDVStrategy(ctx, "serialized")); foreach (SpatialStrategy strategy in strategies) { TestEqualsHashcode(strategy); } }
public IEnumerable <Param> ParamsProvider() { var ctorArgs = new List <Param>(); SpatialContext ctx = SpatialContext.GEO; SpatialPrefixTree grid; SpatialStrategy strategy; grid = new QuadPrefixTree(ctx, 25); strategy = new RecursivePrefixTreeStrategy(grid, "recursive_quad"); ctorArgs.Add(new Param(strategy)); grid = new GeohashPrefixTree(ctx, 12); strategy = new TermQueryPrefixTreeStrategy(grid, "termquery_geohash"); ctorArgs.Add(new Param(strategy)); strategy = new PointVectorStrategy(ctx, "pointvector"); ctorArgs.Add(new Param(strategy)); strategy = new BBoxStrategy(ctx, "bbox"); ctorArgs.Add(new Param(strategy)); return(ctorArgs); }