Class RecursivePrefixTreeStrategy
A PrefixTreeStrategy which uses AbstractVisitingPrefixTreeFilter. This strategy has support for searching non-point shapes (note: not tested). Even a query shape with distErrPct=0 (fully precise to the grid) should have good performance for typical data, unless there is a lot of indexed data coincident with the shape's edge.
Note
This API is experimental and might change in incompatible ways in the next release.
Inherited Members
Namespace: Lucene.Net.Spatial.Prefix
Assembly: Lucene.Net.Spatial.dll
Syntax
public class RecursivePrefixTreeStrategy : PrefixTreeStrategy
Constructors
RecursivePrefixTreeStrategy(SpatialPrefixTree, string)
A PrefixTreeStrategy which uses AbstractVisitingPrefixTreeFilter. This strategy has support for searching non-point shapes (note: not tested). Even a query shape with distErrPct=0 (fully precise to the grid) should have good performance for typical data, unless there is a lot of indexed data coincident with the shape's edge.
Note
This API is experimental and might change in incompatible ways in the next release.
Declaration
public RecursivePrefixTreeStrategy(SpatialPrefixTree grid, string fieldName)
Parameters
| Type | Name | Description |
|---|---|---|
| SpatialPrefixTree | grid | |
| string | fieldName |
Fields
m_multiOverlappingIndexedShapes
Declaration
protected bool m_multiOverlappingIndexedShapes
Field Value
| Type | Description |
|---|---|
| bool |
m_pointsOnly
True if only indexed points shall be supported. See hasIndexedLeaves.
Declaration
protected bool m_pointsOnly
Field Value
| Type | Description |
|---|---|
| bool |
Properties
PrefixGridScanLevel
Sets the grid level [1-maxLevels] at which indexed terms are scanned brute-force instead of by grid decomposition. By default this is maxLevels - 4. The final level, maxLevels, is always scanned. Value can be 1 to maxLevels.
Declaration
public virtual int PrefixGridScanLevel { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
Methods
MakeFilter(SpatialArgs)
Make a Filter based principally on SpatialOperation
and Spatial4n.Shapes.IShape from the supplied args.
return new QueryWrapperFilter(MakeQuery(args).Query);
Declaration
public override Filter MakeFilter(SpatialArgs args)
Parameters
| Type | Name | Description |
|---|---|---|
| SpatialArgs | args |
Returns
| Type | Description |
|---|---|
| Filter |
Overrides
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | If the strategy does not support the shape in |
| UnsupportedSpatialOperationException | If the strategy does not support the SpatialOperation in |
ToString()
Returns a string that represents the current object.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| string | A string that represents the current object. |