Referencia del Archivo NodoTrieS.cpp

#include <iostream>
#include <iomanip>
#include <list>
#include <vector>
#include <set>
#include <fstream>
#include <istream>
#include <sstream>
#include "Pos.hpp"
#include "NodoTrieS.hpp"

Dependencia gráfica adjunta para NodoTrieS.cpp:

Ir al código fuente de este archivo.

Namespaces

namespace  Mt77

Funciones

NodoTrieSmezcla (NodoTrieS *a1, NodoTrieS *a2)
void leeTexto (const char *na, long ndoc, NodoTrieS &t, bool normalizaPal)
bool es_signo_punt (unsigned char c)


Descripción detallada

TrieS en RAM. Basado en http://www.pasosdejesus.org/vtamara/estinf2006-1/proy-s/index.html Dominio público. 2008. vtamara@pasosdejesus.org

Diseño: Se intenta por sugerencia de ... que en eficiencia para indices invertidos es mejor tablas de hashing que tries normales, excepto tries especiales.

Estrategia para búsquedas tras ver doc. lucene es mantener varios indices en disco con facilidad para mezclarlos en disco y cuyas búsquedas en disco sean muy rápidas.

Construir índices se facilita entonces porque se hace en memoria hasta que quepa, cuando no se agota memoria RAM se escribe índice en disco y se comienza uno nuevo y así sucesivamente hasta que todos los documentos son indexados. Entonces se mezclan todos los índices producidos.

Para disminuir problemas de bloqueos, los indices no se sobreescriben (excepto cuando esté terminado un procesamiento).

2 índices grandes por sitio: local, todo. El local es enviado a los demás nodos. El de todo se construye localmente después de traer de todos los nodos.

Tras revisar ... mejor mantener posicion(es) dentro del documento de cada ocurrencia para poder buscar varias palabras consecutivas.

Implementación: 4 fases imp: memoria, disco en formato extra-simple, disco en formato binario , disco en formato binario comprimido

Suponemos que las cadenas ya viene en un formato estándar, por ejemplo mayúsculas sin signos de puntuación.

Definición en el archivo NodoTrieS.cpp.


Documentación de las funciones

bool es_signo_punt ( unsigned char  c  ) 

La función estádnar ispunct considera que las tildes son signos de puntuación por eso no se usa.

Definición en la línea 512 del archivo NodoTrieS.cpp.

Referenciado por NodoTrieS::insertaConEtiqueta().

void leeTexto ( const char *  na,
long  ndoc,
NodoTrieS t,
bool  normalizaPal 
)

Construye un trieS a partir de un texto plano

Definición en la línea 468 del archivo NodoTrieS.cpp.

Hace referencia a ASSERT, NodoTrieS::inserta(), MAXCAD, y normaliza().

Referenciado por indexa(), leeODT(), leePDF(), RamDiscoCasoPrueba::prueba_escribePlano(), RamDiscoCasoPrueba::prueba_leeTexto(), y NodoTrieSCasoPrueba::prueba_leeTexto().

Gráfico de llamadas para esta función:

NodoTrieS* mezcla ( NodoTrieS a1,
NodoTrieS a2 
)

Mezcla dos tries retornando un tercero con el resultado. memoria: a1 y a2 son destruidos, la memoria que debían liberar ahora es responsabilidad del nuevo árbol retornado. Debería llamarse así: r = mezcla(a1, a2); a1=NULL; a2=NULL;

Definición en la línea 310 del archivo NodoTrieS.cpp.

Hace referencia a ASSERT, NodoTrieS::cad, NodoTrieS::cpos, NodoTrieS::hermano_mayor, NodoTrieS::hijo_menor, NodoTrieS::mezcla, NodoTrieS::NodoTrieS(), y prefijo_comun_mas_largo().

Referenciado por main(), RamDiscoCasoPrueba::prueba_escribePlano(), y NodoTrieSCasoPrueba::prueba_mezcla().

Gráfico de llamadas para esta función:


Generado el Wed Jan 6 06:59:03 2010 para Mt77 por  doxygen 1.5.4