Also, you can use 2D projections with AND to limit the number of documents you need to compute distances on.
On Wed, May 21, 2014 at 10:29 AM, [email protected] < [email protected]> wrote: > Hi Leighton, > > I’m assuming you’re suggesting going about it this way instead of using the > Lucene/Solr spatial feature is because it’s not a 2D distance? Solr > actually supports n-dimensional Euclidean distance calculation with this > function query (aka Valuesource): > > dist(2, x,y,z,0,0,0): Euclidean distance between (0,0,0) and (x,y,z) for > each document > > > On Wed, May 21, 2014 at 12:30 PM, Leighton Hargreaves < > [email protected]> wrote: > > > Hello Lucene project. > > > > I'm in the process of evaluating lucene for a project where we will need > > to search a large set of 3D objects by various attributes. In many ways, > > lucene's functionality seems perfect. > > > > But one thing I'm not sure of: we need to find the set of objects that > are > > within a given distance of any given object. > > > > One solution would to add a numeric field to each 3D object, for each > > other 3D object, with a name such as 'distance_to_<other_object_id_1>'. > > This would allow us to find objects within a given distance of a given > > object with a query like 'distance_to_<object_id>:[ *to <max_distance> > ]'. > > > > But this would mean each 3D object would have several thousand > attributes, > > one for every other 3D object. Would this be a prohibitively expensive > way > > to do it? > > > > Another solution would be to handle the spatial aspect within my own > > software ie filter lucene's results according to distance. But I worry > > that this would negatively affect performance by causing the set of > results > > returned to my code to be large, prior to filtering by my own software. > > > > I apologise if the question is confusing or badly explained, I'm just > > asking in case it turns out to be a standard class of problem with good > > existing solutions. > > > > Regards, > > > > Leighton Hargreaves > > > > >
