Note

Cette documentation est en cours de rédaction. Elle peut contenir des erreurs et des informations peuvent manquer. Si vous avez des commentaires ou questions, merci de nous contacter sur la liste de diffusion unitex-devel ou de remplir un rapport de bogue en utilisant notre système de suivi des incidents.

Persistance des ressources linguistiques

Les ressources linguistiques (graphes .fst2, dictionnaires .bin et fichiers .inf, et dans une bien moindre mesure les fichiers Alphabet.txt) prennent beaucoup de temps pour être chargées. Les dictionnaires sont gros, les graphes sont complexes. Pour économiser ce temps à chaque lancement d’un outil, il est possible de pré-charger ces ressources avant d’appeler les outils Unitex.

Pour cela, il existe pour chaque type de ressource (dictionnaire, graphe et alphabet) une fonction de pré-chargement. Cette fonction retourne le nom de la ressource persistante (dans le buffer persistent_filename_buffer de taille buffer_size qui devra être fourni par l’appelant en C, comme valeur de retour des fonctions Java).

Note

Les fichiers dictionnaires utilisés doivent rester présents et non modifiés, car la technique de mappage de fichiers en mémoire peut être utilisée.

Avertissement

La règle de constitution du nom de la ressource persistante pouvant évoluer et dépendre du type de librairie de persistance installée, c’est bien ce nom qui devra être fourni comme paramètre aux outils Unitex correspondant (Locate, Dico...), et éventuellement aux fonctions de déchargement correspondant.

C

persistence_public_load_dictionary

int persistence_public_load_dictionary(const char* filename,
                                       char* persistent_filename_buffer,
                                       size_t buffer_size);

persistence_public_is_persisted_dictionary_filename

int persistence_public_is_persisted_dictionary_filename(const char*filename);

persistence_public_unload_dictionary

void persistence_public_unload_dictionary(const char* filename);

persistence_public_load_fst2

int persistence_public_load_fst2(const char* filename,
                                 char* persistent_filename_buffer,
                                 size_t buffer_size);

persistence_public_is_persisted_fst2_filename

int persistence_public_is_persisted_fst2_filename(const char*filename);

persistence_public_unload_fst2

void persistence_public_unload_fst2(const char* filename);

persistence_public_load_alphabet

int persistence_public_load_alphabet(const char* filename,
                                     char* persistent_filename_buffer,
                                     size_t buffer_size);

persistence_public_is_persisted_alphabet_filename

int persistence_public_is_persisted_alphabet_filename(const char*filename);

persistence_public_unload_alphabet

void persistence_public_unload_alphabet(const char* filename);

Java

loadPersistentDictionary

public native static String loadPersistentDictionary(String filename);

freePersistentDictionary

public native static void freePersistentDictionary(String filename);

loadPersistentFst2

public native static String loadPersistentFst2(String filename);

freePersistentFst2

public native static void freePersistentFst2(String filename);

loadPersistentAlphabet

public native static String loadPersistentAlphabet(String filename);

freePersistentAlphabet

public native static void freePersistentAlphabet(String filename);