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
