tengo una tabla en mysql ("miembros") con los alumnos de un colegio, los apoderados y los profesores.
Quiero un buscador donde pueda buscar por nombre, o RUT (rut es un numero identificador unico aca en chile).
ahora la pregunta es Es conveniente usar Zend_Search_Lucene para indexar los miembros y luego buscarlos, o me conviene crear mi propia funcion para esto.
Si es conveniente usar Zend_Search_Lucene para esto alguien me puede guiar en como hacerlo, ya que hice algunas pruebas pero no se si estoy bien encaminado o no, lo que hice es lo siguiente.
Creo el indice en "tmp/miembros_index", luego tomo todos los miembros de la base de datos y los indexo con un loop foreach, ahora no se si hago bien este ultimo paso:
Código PHP:
$doc->addField(Zend_Search_Lucene_Field::UnIndexed('id',$feed->id));
$doc->addField(Zend_Search_Lucene_Field::Keyword('nombre',htmlentities(strip_tags($feed->nombre))));
$doc->addField(Zend_Search_Lucene_Field::Keyword('apellido_paterno',htmlentities(strip_tags($feed->apellido_paterno))));
$doc->addField(Zend_Search_Lucene_Field::Keyword('apellido_materno',htmlentities(strip_tags($feed->apellido_materno))));
$doc->addField(Zend_Search_Lucene_Field::Keyword('rut',htmlentities(strip_tags($feed->rut))));
$index->addDocument($doc);
esto me crea el indice con los "729" miembros actuales
pero este solo proceso se demora aprox 25 segundos, no se si esto se tiene que hacer cada vez que voy a buscar? o cada cierto tiempo. por que la idea es tener el indice actualizado o si hay alguna forma de actualizar solo los datos nuevos o algo
si alguien me puede apuntar en la direccion correcta lo agradeceria. Salu2.