List of usage examples for org.apache.lucene.spatial.prefix.tree QuadPrefixTree QuadPrefixTree
public QuadPrefixTree(SpatialContext ctx, int maxLevels)
From source file:org.apache.blur.analysis.type.spatial.BaseSpatialFieldTypeDefinition.java
License:Apache License
protected SpatialPrefixTree getSpatialPrefixTree(String field, Map<String, String> properties) { String spatialPrefixTreeStr = properties.get(SPATIAL_PREFIX_TREE); if (spatialPrefixTreeStr == null) { throw new IllegalArgumentException( "Property [" + SPATIAL_PREFIX_TREE + "] is missing from type def for field [" + field + "]"); } else if (spatialPrefixTreeStr.equals(GEOHASH_PREFIX_TREE)) { int maxLevels = getMaxLevels(properties); return new GeohashPrefixTree(_ctx, maxLevels); } else if (spatialPrefixTreeStr.equals(QUAD_PREFIX_TREE)) { int maxLevels = getMaxLevels(properties); return new QuadPrefixTree(_ctx, maxLevels); } else {/*from w w w . j a v a2 s . c o m*/ throw new RuntimeException("Unknown spatialPrefixTreeStr [" + spatialPrefixTreeStr + "]"); } }
From source file:org.janusgraph.diskstorage.lucene.LuceneIndex.java
License:Apache License
private SpatialStrategy getSpatialStrategy(String key, KeyInformation ki) { SpatialStrategy strategy = spatial.get(key); final Mapping mapping = Mapping.getMapping(ki); final int maxLevels = ParameterType.INDEX_GEO_MAX_LEVELS.findParameter(ki.getParameters(), DEFAULT_GEO_MAX_LEVELS);/*from ww w .java 2 s . co m*/ final double distErrorPct = ParameterType.INDEX_GEO_DIST_ERROR_PCT.findParameter(ki.getParameters(), DEFAULT_GEO_DIST_ERROR_PCT); if (strategy == null) { synchronized (spatial) { if (!spatial.containsKey(key)) { // SpatialPrefixTree grid = new GeohashPrefixTree(ctx, GEO_MAX_LEVELS); // strategy = new RecursivePrefixTreeStrategy(grid, key); if (mapping == Mapping.DEFAULT) { strategy = PointVectorStrategy.newInstance(ctx, key); } else { final SpatialPrefixTree grid = new QuadPrefixTree(ctx, maxLevels); strategy = new RecursivePrefixTreeStrategy(grid, key); ((PrefixTreeStrategy) strategy).setDistErrPct(distErrorPct); } spatial.put(key, strategy); } else return spatial.get(key); } } return strategy; }
From source file:org.openspaces.spatial.spi.LuceneSpatialConfiguration.java
License:Open Source License
private static SpatialPrefixTree createSpatialPrefixTree(LuceneSpatialQueryExtensionProvider provider, SpatialContext spatialContext) { String spatialPrefixTreeType = provider.getCustomProperty(SPATIAL_PREFIX_TREE, SPATIAL_PREFIX_TREE_DEFAULT); SupportedSpatialPrefixTree spatialPrefixTree = SupportedSpatialPrefixTree.byName(spatialPrefixTreeType); String maxLevelsStr = provider.getCustomProperty(SPATIAL_PREFIX_TREE_MAX_LEVELS, SPATIAL_PREFIX_TREE_MAX_LEVELS_DEFAULT); int maxLevels = Integer.valueOf(maxLevelsStr); switch (spatialPrefixTree) { case GeohashPrefixTree: return new GeohashPrefixTree(spatialContext, maxLevels); case QuadPrefixTree: return new QuadPrefixTree(spatialContext, maxLevels); default:/*from w ww.j av a 2 s. c o m*/ throw new RuntimeException("Unhandled spatial prefix tree type: " + spatialPrefixTree); } }