[ https://issues.apache.org/jira/browse/SOLR-1131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12786944#action_12786944 ]
Grant Ingersoll edited comment on SOLR-1131 at 12/9/09 1:33 PM: ---------------------------------------------------------------- OK, here's my take on this. I took Yonik's and merged it w/ a patch I had in the works. It's not done, but all tests pass, including the new on I added (PolyFieldTest). Yonik's move to put getFieldQuery in FieldType was just the key to answering the question of how to generate queries given a FieldType. Notes: 1. I changed the Geo examples to be CoordinateFieldType (representing an abstract coordinate system) and then PointFieldType which represents a point in an n-dimensional space (default 2D). I think from this, we could easily add things like PolygonFieldType, etc. which would allow us to create more sophisticated shapes and do things like intersections, etc. For instance, imagine saying: Does this point lie within this shape? I think that might be able to be expressed as a RangeQuery 2. I'm not sure I care for the name of the new abstract FieldType that is a base class of CoordinateFieldType called DelegatingFieldType 3. I'm not sure yet on the properties of the generated fields just yet. Right now, I'm delegating the handling to the sub FieldType except I'm overriding to turn off storage, which I think is pretty cool (could even work as a copy field like functionality) 4. I'm not thrilled about creating a SchemaField every time in the createFields protected helper method, but SchemaField is final and doesn't have a setName method (which makes sense) Questions for Yonik on his patch: 1. Why is TextField overriding getFieldQuery when it isn't called, except possibly via the FieldQParserPlugin? 2. I'm not sure I understand the getDistance, getBoundingBox methods on the GeoFieldType. It seems like that precludes one from picking a specific distance (for instance, some times you may want a faster approx. and others a slower more accurate calculation) Needs: 1. Write up changes.txt 2. More tests, including performance testing 3. Patch doesn't support dynamic fields yet, but it should was (Author: gsingers): OK, here's my take on this. I took Yonik's and merged it w/ a patch I had in the works. It's not done, but all tests pass, including the new on I added (PolyFieldTest). Yonik's move to put getFieldQuery in FieldType was just the key to answering the question of how to generate queries given a FieldType. Notes: 1. I changed the Geo examples to be CoordinateFieldType (representing an abstract coordinate system) and then PointFieldType which represents a point in an n-dimensional space (default 2D). I think from this, we could easily add things like PolygonFieldType, etc. which would allow us to create more sophisticated shapes and do things like intersections, etc. For instance, imagine saying: Does this point lie within this shape? I think that might be able to be expressed as a RangeQuery 2. I'm not sure I care for the name of the new abstract FieldType that is a base class of CoordinateFieldType called DelegatingFieldType 3. I'm not sure yet on the properties of the generated fields just yet. Right now, I'm delegating the handling to the sub FieldType except I'm overriding to turn off storage, which I think is pretty cool (could even work as a copy field like functionality) 4. I'm not thrilled about creating a SchemaField every time in the createFields protected helper method, but SchemaField is final and doesn't have a setName method (which makes sense) Questions for Yonik on his patch: 1. Why is TextField overriding getFieldQuery when it isn't called, except possibly via the FieldQParserPlugin? 2. I'm not sure I understand the getDistance, getBoundingBox methods on the GeoFieldType. It seems like that precludes one from picking a specific distance (for instance, some times you may want a faster approx. and others a slower) Needs: 1. Write up changes.txt 2. More tests, including performance testing 3. Patch doesn't support dynamic fields yet, but it should > Allow a single field type to index multiple fields > -------------------------------------------------- > > Key: SOLR-1131 > URL: https://issues.apache.org/jira/browse/SOLR-1131 > Project: Solr > Issue Type: New Feature > Components: Schema and Analysis > Reporter: Ryan McKinley > Assignee: Grant Ingersoll > Fix For: 1.5 > > Attachments: SOLR-1131-IndexMultipleFields.patch, SOLR-1131.patch, > SOLR-1131.patch, SOLR-1131.patch, SOLR-1131.patch, SOLR-1131.patch > > > In a few special cases, it makes sense for a single "field" (the concept) to > be indexed as a set of Fields (lucene Field). Consider SOLR-773. The > concept "point" may be best indexed in a variety of ways: > * geohash (sincle lucene field) > * lat field, lon field (two double fields) > * cartesian tiers (a series of fields with tokens to say if it exists within > that region) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.