ShapeMatcher and ShapeValues [LUCENE-4388]
- Dominant language
- Java
- Stars
- 3.6k
- Forks
- 1.4k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 88
Description
This patch provides two key interfaces: ShapeMatcher and ShapeValues. The ShapeMatcher concept is borrowed from @ryantxu's JtsGeoStrategy which has a similar GeometryTester. ShapeValues is basically a ValueSource/FunctionValues for shapes. This isn't working; I didn't modify any existing classes.
I haven't completely thought this through but a SpatialStrategy might expose a makeShapeValues(IndexReader) and/or makeCenterShapeValues(IndexReader) (the latter is the center points of indexed data). A generic Distance ValueSource could easily be implemented in terms of makeCenterShapeValues(). And a strategy could support any query shape simply by implementing makeShapeValues().
I've been thinking about how the API handles strategies supporting indexing multiple shapes and I wonder if that could happen simply via a new MultiShape<Shape>.
---
Migrated from [LUCENE-4388](https://issues.apache.org/jira/browse/LUCENE-4388) by David Smiley (@dsmiley), updated Sep 17 2012
Attachments: [LUCENE-4388_ShapeValues_and_ShapeMatcher.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-4388/LUCENE-4388_ShapeValues_and_ShapeMatcher.patch)
Contributor guide
Research direction
Start by reviewing the attached LUCENE-4388_ShapeValues_and_ShapeMatcher.patch and the ShapeMatcher and ShapeValues interfaces it introduces. Read the proposed SpatialStrategy makeShapeValues(IndexReader) and makeCenterShapeValues(IndexReader) entry points; the issue does not define an agreed API or concrete completion criteria, so those must be established before implementation.
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
- 18/100