J'utilise Lucene pour un portail de recherche d'emploi utilisant .net. Je suis confronté à des problèmes de performance dans le cas d'utilisation suivant. Le cas d'utilisation est: Lorsque vous effectuez une recherche d'emploi, l'utilisateur peut sélectionner l'emplacement du travail (par exemple: Atlanta, GA) et sélectionner la distance radiale (par exemple 50 miles). Pour information, nous conservons une base de données sql server 2005 dans laquelle nous stockons la ville, l'état, la longitude et la latitude des États-Unis et du Canada (contient un total d'environ 1 million d'enregistrements).Amélioration des performances de la recherche basée sur l'emplacement à l'aide de Lucene
Y at-il de toute façon que je peux améliorer la performance de cette recherche d'emploi basée sur l'emplacement?
Seriez-vous en mesure d'expliquer comment exactement vous utilisez Lucene pour effectuer des recherches basées sur l'emplacement en relation avec votre base de données? Lorsqu'un utilisateur recherche "Atlanta, GA", par exemple, comment Lucene sait-elle quelles villes se trouvent à moins de 50 miles de celle-ci? Est-ce qu'il doit d'abord interroger la base de données? –
Merci pour vos commentaires. Nous avons une API de distance basée sur .Net qui prend l'emplacement comme entrée et renvoie les villes les plus proches dans un rayon donné. Cette collection est ensuite donnée à Lucene pour la recherche d'emplois. – user74042
Alors cherchez-vous l'index Lucene pour la chaîne "Atlanta, GA"? Qu'est-ce que vous indexez? Est-ce que vous indexez "Atlanta, GA" comme un terme ou est-ce divisé en jetons? – Gandalf