SpatialStrategy DocValues & FieldType customizability [LUCENE-5802]
- Dominant language
- Java
- Stars
- 3.6k
- Forks
- 1.4k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 88
Description
The SpatialStrategy API is a simple facade to index spatial data and query by it in a consistent way, hiding the implementation. For indexing data, it has one applicable method:
```java
public abstract Field[] createIndexableFields(Shape shape);
```
The base abstraction provides no further configuration. BBoxStrategy and PointVectorStrategy have a way to set the precisionStep of the underlying Double trie fields. But none have a way to use Floats, and none have a way to specify the use of DocValues (and which type). Perhaps there are other plausible nobs to turn. It is actually more than just indexing since at search time it may have to change accordingly (e.g. search difference between Float & Double). PrefixTreeStrategy is likely to soon deprecate/remove any applicability here (see LUCENE-5692).
If there is no change that could reasonably be made to SpatialStrategy itself, what is the pattern that BBoxStrategy and others should use?
---
Migrated from [LUCENE-5802](https://issues.apache.org/jira/browse/LUCENE-5802) by David Smiley (@dsmiley)
Contributor guide
Research direction
Start by reading the SpatialStrategy API and comparing the configuration options in BBoxStrategy and PointVectorStrategy, especially precisionStep, numeric types, and DocValues. Review the PrefixTreeStrategy context and LUCENE-5692; done would require an agreed configuration pattern or API change that covers indexing and corresponding search behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100