Tenir compte le site suivant:Quelle est la meilleure approche pour interpréter une entrée de texte à des fins de géocodage?
Il a une principale entrée de texte, où l'utilisateur peut saisir entreprise, les pays, les provinces, les villes, les adresses et les codes postaux. Je me demande quelle est la meilleure façon d'implémenter une recherche comme celle-ci. Je réalise que Google Maps utilise probablement une recherche en texte intégral avec toutes sortes de données dans le même tableau, et il a une chance d'avoir un analyseur qui classe l'entrée (ie entre numérique, comme les codes postaux et les coordonnées, et textuel, comme les affaires et adresses).
Avec la propagation des données dans de nombreux tableaux et systèmes, un analyseur est essentiel. L'analyseur pourrait être construit à partir d'expressions régulières, ou pourrait être construit avec des outils IA tels que les réseaux neuronaux artificiels et les algorithmes génétiques.
Quelle approche recommanderiez-vous?
J'ai envisagé Lucene, mais aussi d'autres moteurs de recherche de texte intégral (c'est-à-dire l'index de texte complet de SQL Server et le texte d'Oracle). Mais je vais compter votre réponse comme un vote pour l'approche full-text-index seulement. –
J'ai utilisé l'index de texte intégral SQL Server, et il a beaucoup à désirer. Il a une capacité d'interrogation limitée liée par les fonctions FREETEXT et CONTAINS, et fournit souvent des résultats très originaux et incohérents. Si vous avez une énorme quantité d'informations, cela semble fonctionner mieux (des centaines de milliers à des millions de lignes) ... rien de moins, et leur moteur de texte libre a beaucoup de problèmes. Même avec un grand volume, Lucene fournit un index beaucoup plus précis. Quant à Oracle ... ne pouvait rien dire là-bas, car je n'ai jamais utilisé leur indexation de texte. – jrista