2010-12-14 6 views
0

je suis tombé sur une question d'entrevue de mettre en œuvre un dictionnaire qui peut mettre en œuvre les caractéristiques de l'auto-complétion, correction automatique, correcteur orthographique etc ...Quelle base de données que je dois utiliser pour mettre en œuvre l'auto-complétion du dictionnaire

En fait, je voulais savoir quelle base de données je devais utiliser pour stocker tout le mot comme (pour l'emplacement du pays, la ville et le code postal).

S'il vous plaît me suggérer s'il un cadre en Java avec une base de données ou une base de données optimale qui peut atteindre la solution

Tous les liens qui me guident ce sont les bienvenus ...

Répondre

3

Les fonctionnalités dont vous parlez sont généralement largement mis en œuvre dans l'application, pas de données, couche, car il y a un composant important de l'interface utilisateur ici. Toute base de données (ou même fichier plat) peut stocker une liste de mots.

Pouvez-vous être plus précis sur la zone avec laquelle vous rencontrez des problèmes? (Si votre question est vraiment « Comment puis-je utiliser une base de données? », qui est trop général pour ce site, et vous devriez faire quelques recherches sur Google. Essayez de regarder dans JDBC pour commencer)

0

La solution la plus simple pour auto l'achèvement consiste à utiliser un ensemble navigable pour trouver toutes les entrées qui commencent par une chaîne donnée. Pour la correction automatique/correction d'orthographe, je voudrais un ensemble de mots corrects et d'offrir des suggestions utiliser un encodeur "sons-like" et une multi-carte (Map of Lists) pour tous les mots qui sonnent comme le mot entré.

0

La solution la plus simple possible consiste à utiliser 'trie'. C'est une structure de données qui représente les caractères du noeud enfant indexé. http://en.wikipedia.org/wiki/Trie A plus d'informations à ce sujet. Cela doit être fait en mémoire car à la fin de chaque touche, vous allez modifier l'ensemble des suggestions et la liste complète automatique. Aussi comme il est lié au composant UI comme dropdown ou champ de texte.

Questions connexes