2016-04-18 3 views
2

Solr experts, j'apprécierais vraiment quelques conseils sur mon problème.Trouver les points les plus proches avec Solr dans l'espace multidimensionnel

Je veux construire un espace multidimensionnel en utilisant Solr, disons avec 5 dimensions. Dans cet espace, il devrait y avoir des points, par ex.

P1 (0.3, 0.3, 0.3, 0.3, 0.3) 
P2 (0.5, 0.5, 0.5, 0.5, 0.1) 
P3 (0.5, 0.1, 0.1, 0.1, 0.1) 

Maintenant, je voudrais trouver le point le plus proche d'un point donné, par ex.

Px (0.5, 0.5, 0.5, 0.5, 0.5) 

J'ai essayé de trouver des informations fiables sur la recherche spatiale multidimensionnelle. Mais je n'ai rien trouvé d'utile.

Dans le Solr Wiki est un article sur Spatial Search. Mais là ils n'utilisent que 2 dimensions. Donc, ma question est: est-ce que Solr fournit la fonctionnalité pour une recherche spatiale multidimensionnelle?

+0

Je ne pense pas que quoi que ce soit au-dessus de poignées Solr 2 dimensions. Mais il peut gérer des expressions, vous pouvez essayer d'adapter l'une des nombreuses façons de trouver le plus proche voisin dans l'espace N-dimensionnel à quelque chose que Solr comprendra, mais je ne pense pas que cela fonctionnera très vite. La seule autre façon dont je peux le voir fonctionner est de diviser les 5 dimensions en https://www.wolframalpha.com/input/?i=permutations+of+5+elements+taken+by+2 et avoir tous les 20 champs comme distances et de trouver celui avec la plus petite somme de tous – KinSlayerUY

+0

J'avais peur que Solr ne fournit pas la fonctionnalité. Je pense que la suggestion de diviser les 5 dimensions en permutations ne répondra pas à nos exigences en matière de performance. Néanmoins, merci pour votre précieuse réponse. – theb

+0

Ceci est pris en charge dans lucene. J'essaie toujours de comprendre comment le faire en solr. http://www.solr-start.com/javadoc/solr-lucene/org/apache/lucene/document/DoublePoint.html –

Répondre