2010-02-22 10 views
3

Je travaille sur un projet de recherche dans un grand dictionnaire (100k ~ 1m mots). Les éléments du dictionnaire ressemblent à {clé, valeur, fréquence}. Myy tâche est le développement d'un algoritm de recherche incrémentielle pour soutenir la correspondance exacte, la correspondance de préfixe et la correspondance générique. Les résultats devraient être commandés par freq.La meilleure façon de soutenir la recherche de caractères génériques sur un grand dictionnaire?

Par exemple: le dictionnaire ressemble

key1=a,value1=v1,freq1=4 
key2=ab,value2=v2,freq2=2 
key3=abc,value3=v3 freq3=1 
key4=abcd,value4=v4,freq4=3 

lorsqu'un utilisateur tape 'a', retour v1, v4, v2, v3
lorsqu'un utilisateur tape '? Un c', retour v4, Maintenant, mon meilleur choix est un arbre de suffixe représenté par la structure de données DAWG, mais cette méthode ne prend pas en charge efficacement les correspondances génériques.

Une suggestion?

+1

En tant que nouvel utilisateur, ne soyez pas offensé mais soyez informé que vous vous faites du tort en écrivant dans un style sms. La ponctuation claire et la capitalisation rendent la question beaucoup plus lisible et attirent plus de personnes pour donner une réponse. Comme le dit la faq: * Afin d'obtenir de bonnes réponses, vous devez mettre un peu d'effort dans la question. * –

Répondre

0

Vous devez regarder n-grams pour indexer votre contenu. Si vous voulez quelque chose Out-of-the-box, vous pouvez regarder Apache Solr qui fait beaucoup de travail acharné pour vous. Il prend également en charge le préfixe, les requêtes génériques, etc.