Bueno mira, ya tienes mnogosearch abajo; entonces solo te falta compilarlo; puedes usar tu base de datos preferida, yo escogí sqlite3 pero mnogosearch soporta hasta oracle. Ah! y lo vamos a meter en /opt para que sea algo más movil. Le puedes poner cuantos motores de base de datos tengas, solo que debes tener instalado el -dev.
Entonces: ./configure --prefix=/opt/mnogosearch --with-sqlite3 --with-sqlite Se manda a configurar, si no te da bateo.. make install La configuración... otros $20 Por ejemplo, la conexión con la base de datos, es todo una ceremonia, que poco se parece a lo que dice en la documentación, ya que el mismo, no pincha como en el ejemplo; dátela: En el fichero /opt/mnogosearch/etc/indexer.conf le pones esta linea para crear la conexión con la BD DBAddr sqlite3://mnogo:@/opt/mnogosearch/mnogosearch.db/?dbmode=blob&Deflate=yes&zint4=yes También debes especificarle la conexión al buscador en el fichero: /opt/mnogosearch/etc/search.htm Fíjate que es difernte, el parámetro dbmode=blob tiene ahora LiveUpdates=yes, esto quiere decir que la puntación de cada docuemnto se actualiza cada vez que accedas a él. DBAddr sqlite3://mnogo:@/opt/mnogosearch/mnogosearch.db/?dbmode=blob&LiveUpdates=yes&Deflate=yes&zint4=yes COmo todos los indexadores; tiene un crawler y un frontend web para buscar. Pero volviendo con el crawler en indexer.conf A mi me gusta tener los tipos de ficheros aparte, ya que uso "varios crawler", una configuración para la documentación de flash, otra para los correos, etc... pero lo mejor es tener los tipos de ficheros aparte y así funciona con todos; así que pones una linea que diga: Include filetypes.conf y en el fichero /opt/mnogosearch/etc/filetypes.conf Vamos a poner una buena catatombe de cosas extrañas. Sería más fácil si manejas los conceptos de MIME type y si conoces el fichero .mailcap entenderás todo facilito, por tanto, te sugiero que veas por arribita man mailcap para que tengas una idea de como funciona el mime-type; también deberías mirar /etc/mailcap. Aclaración para el que leyó man mailcap: La única diferencia es que aquí, la declaraciones de los tipos mime van por un lado, y el comando a ejecutar va por otro. Te explico lo que vamos hacer. Aquí vamos a declarar que fichero se permiten o no, además que hacer con cada fichero, ya que mnogosearch solo entiende de texto plano o de html; por tanto, usaremos terceras aplicaciones que conviertan lo que queremos en HTML puro. Además, el fichero también controla que extensiones el crawler debe revisar y cuales debe ignorar. Allow */ *.html *.htm *.txt *.ps *.pdf NoCase Allow *.1.gz *.2.gz *.3.gz *.4.gz *.5.gz *.6.gz *.7.gz *.8.gz NoCase Disallow * Ahí dice, primero permitir los ficheros *.(véase arriba) y aunque la documentación dice que soporta expresiones regulares, la práctica demuestra lo contrario, por eso no puse *.[0-0].gz y tienes que hacer la pincha del indio poniendo número a número. Ah! OJO, el primer Allow el el fichero "*/" osea, DIRECTORIOS, si no, el indexer NO pincha. Ahora que tenemos declarado las extensiones de ficheros, vamos a decirle que hacer con cada uno de esos ficheros para traducirlos a HTML. Vamos a declarar el contenido mime según su extención. # ftipos de ficheros y extenciones AddType text/plain *.txt *.pl *.js *.h *.c *.pm *.e .py *.sh NoCase AddType text/html *.html *.htm NoCase AddType application/pdf *.pdf AddType application/msword *.doc AddType application/oasis-document *.odt AddType application/man *.1.gz *.2.gz *.3.gz *.4.gz *.5.gz *.6.gz *.7.gz *.8.gz NoCase vites? cargamos un tipo de mime y lo casamos con una extención, hemos declarado que los ficheros cuyo nombre termine .doc será un fichero del tipo application/msword. Ahora que todo es mime-content lo demás es cuesta abajo, solo es cuestión del comando adecuado. Cada vez que se reciba un contenido que NO sea html, se buscara en la tabla de de conversión y se ejecutará un comando. En dicha tabla, cada fichero debe estar casado con un comando a ejecutar, la tabla le dice a mnogosearch que hacer ante cada mime-content. mnoGoGearch le manda el contenido como parámetro y el comando ha de devolver HTML pero OJO!!! el comando debe deovlver el HTML por SALIDA ESTANDAR (stdout) Osea: entra fichero como parametro (el $1) sale HTML como salida estandar <= comando foo.doc => <p>este es el contenido del documento word</p> Mientras respetes eso, puedes agregar cuantos mimes quieras con el comando que te de la gana y en linux hay mil y convertidores tufichero2html, busca "aptitude search 2html" y "aptitude search tohtml" para que veas. Esta es la mía: Mime application/msword "text/plain; charset=utf-8" "catdoc -a -dutf-8 $1" Mime application/man text/html "gunzip -c $1|man2html" Mime application/pdf text/html "pdftohtml -stdout $1" Mime application/oasis-document text/html "odt2txt $1|markdown" La sintáxis es: Mime contenido/mime forma/salida "comando que ejecuta" Veamos un ejemplo abstraído, convertir todos los ficheros del tipo chipojo verde, en html. AddType chipojo/verde *.chv Mime chipojo/verde text/html "reptil2html --input-type chipojo --color green --stdout $1" Si miras la ultima parte veras que se declara a los ficheros application/oasis-document son del tipo text/html, pero en realidad odt2txt lo que hace es devolver texto, NO html. Pues parae so está puesto ahí markdown. Para el que no lo conozca, markdown es uno de los llamados "lenguajes textiles"; es el más bien el rey de los lenguajes textiles, ya que por medio de texto crea fichero HTML, esos son los ficheros .md que ves en github como un html lindo. Mira que fácil convertiresmo 3 lineas de texto plano en un lindo HTML que cumpla todos lo estándares, gracias a markdown y tidy. lazaro@utopian:~$ echo -e "titulo\n-\nhola mundo\n_texto subrayado_"|markdown|tidy -q <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title></title> </head> <body> <h2>titulo</h2> <p>hola mundo <em>texto subrayado</em></p> </body> </html> Si miras la salida de odt2txt verás que es medianamente compatible con esta sintaxis, ya que casi todos los ficheros fulanito2txt son compatibles con esto de los lenguajes textiles y casi todos mirando a markdown que es el caballo de atila. Es más lindo convertir un odt en HTML que en txt, el txt se ve feo. Ahora que todo está listo podemos indexar nuestros ficheros y cuanto sitio web nos parezca :D pero aún no lo hemos dichero al crawler donde y cuando tiene que ir a buscar la cosas. El cuando es relativo, ya que el organiza todos las ubicaciones como le da la gana mientras indexa. De vuelta al fichero /opt/mnogosearch/etc/indexer.conf lo pondremos una linea así: # indexamos el contenido de la carpeta de documentos Server file:///home/lazaro/Documentos/ # indexamos el blog Server /var/www/nanoblog/ # indexamos /usr/share/doc/ Server file:///usr/share/doc/ # indexamos las paginas de man Server file:///usr/share/man/man1/ Server file:///usr/share/man/man2/ Server file:///usr/share/man/man3/ Server file:///usr/share/man/man4/ Server file:///usr/share/man/man5/ Server file:///usr/share/man/man6/ Server file:///usr/share/man/man7/ Server file:///usr/share/man/man8/ # indexamos la memoria flash de la documentacion Server file:///media/NEUDATRANS/ Finalmente corres el crawler y veras algo como esto: lazaro@utopian:~$ /opt/mnogosearch/sbin/indexer indexer[29669]: indexer from mnogosearch-3.3.12-sqlite3 started with '/opt/mnogosearch/etc/indexer.conf' indexer[29669]: [29669]{01} URL: file:///usr/share/man/man8/grpck.8.gz indexer[29669]: [29669]{01} URL: file:///usr/share/man/man8/update-openoffice-dicts.8.gz Ah! mira: Por defecto, buscara y parceará todos vínculos en los archivos HTML, además de que irá a buscarlos también, osea si tiene salida al mar, y el crawler chcoca con un documento que hace referncia a otro, ira a buscar ese otro, solamente ese otro (si no haría un mirror de internet completo) Por ejemplo si tiene un documento que diga "puede ver aquí tal cosa" dale por sentado que está en el indice de mnogosearch porque el fue a buscarlo ;) Pero bueno ponte cómodo que esto va pa largo :D En lo que palo va y viene, vamos a ir configurando el fronted-web que lo tenemos tirado a mierda Localizas la URL y veras el buscador lazaro@utopian:~$ w3m -dump -T text/html http://localhost/cgi-bin/search.cgi [mnogosearc] Search word: [ ] [Search] Extended Bueno pero aún no puedes buscar por que el indice no esta hecho, declaramos que fuera del tipo "blob" (mira la documentación para una explicación más linda) por tanto, tenemos que crear el índice de referencia. lazaro@utopian:~$ /opt/mnogosearch/sbin/indexer -Eblob indexer[31030]: Converting to blob indexer[31030]: Loading URL list Pa largo igual :D así que ponte cómodo de nuevo Lo mejro de esto, es que puedes indexar una flash con documentación y luego desconectar la flash (muy útil para mis 4 gigas bytes de disco duro) no depende de que el fichero indexado sea alcanzable, ya que puedes hacer click en el link que dice "cache copy" y ver el documento. Además, cuando vez un cache copy, los parámetros de tu búsqueda salen resaltado en amarillo ;) cada vez que hagas click en en documento, el cgi acutaliza la base de datos y tratarará de refrescar la cache si hiciste click en el enlace, también tomara las palabras claves y reoganizará la relevancia, todo eso sucederá si tiene el parametro LiveUpdates=yes, lo cual haría un poco (imperceptible) lenta la busqueda, si quieres precindir de estas características simplemetne quita ese parámetro en la conección de search.htm. Ah! search.html puede conecectar a varias bases de datos con distintos paráemtros, como es mi caso; tengo conectada una base de datos para la glash y otras para el disco duro local. Al crwaler le puedes mandar distintos fichero indexer.conf para indexar distintos sitios; pero el search.htm puedes usar TODAS las bases de datos a la vez. Con el LiveUpdate eso podría llegar a ser dolorosamente lento, sobre todo en bases de datos como SQLite. Velocidad de respuesta: CUando tiene indexado una pila de cosas, sucede un fenómeno curioso y es que cuanto más extensa sea la busqueda, más rápido es el resultado, pero cuando el resultado es corto y la búsqueda reducida, más lento es el tiempo que taradrá la consulta. La velocidad de hyperstraier es superior a la de mnogosearhc en ese aspecto, además, mnogosearch no es tan "accuracy" como estraier, hyperstraier o el antiguo google-desktop. La gran ventaja de mnogosearch es que puedes conectar y desconoectar bases de datos, por ejemplo, le puedes decir a un amigo que te indexe el sitio tal y te de la base de datos, tu conectas tu base de datos y ya tienes el sitio listo para ser consultado :D bueno verdad? Yo indexo sitios copletos como la documentación de postfix y así lo tengo en la casa listo para consultar. <h1>Tan bueno es saber, como saber quien tiene o donde hay</h1> Yo puedo decir descansadamente que uso más mnogosearch que google; porque al menos en debian, /usr/share/doc y man contienen todo lo necesario para echar a andar las aplicaciones... Todo esto lo escribí mientras llevaba a cabo una instalación nuevo sobre otra ya existente, es posible que me halla comido algún paso y la mía pinche por la anterior, cualquier trabazón mi tiras pa acá, pero si es error de compilación, verifica tener los -dev de la base de datos que seleccionaste y los -dev de libzip. Si siguen lso errores de compilación, prueba a desabilitar el soporte de iconv en ./configure, usa configure --help que hay varias formas de hacerlo o bien instala los dev de iconv; un verdadero misterio en debian6. Puedes indexar ficheros mbox de correo con mailarchive. Para indexar uso un script que así: lazaro@utopian:~$ cat /etc/cron.monthly/mnogosearch.sh #!/bin/sh ### indexar correo como archivo de lista echo "creando indice de los correos en knowledge..." cd /home/lazaro/Documentos cat correo_archivado/knowledge /home/lazaro/mail/archive|hypermail -i # corremos el crawler y si pincha creamos el índice /opt/mnogosearch/sbin/indexer && /opt/mnogosearch/sbin/indexer -Eblob exit 0 # EOF Reinier Carmona Lizana cogió un teclado y escribió: > > Ya, todo está abajo, no tiene que ser ahora socio, cuando tengas un time y/o > te > baje la musa, lo tiras para acá, o lo envias a la lista. > > > El 22 de mayo de 2013 05:13, låzaro <netad...@lex-sa.cu> escribió: > > olvidate de los coompilados que dan unos segfaults muy serios... > ala la fuente.. > > > Reinier Carmona Lizana cogió un teclado y escribió: > > > > toy bajando los 2 un .deb para 64 bits y el codigo fuente > > > > > > > > El 22 de mayo de 2013 09:02, Reinier Carmona Lizana < > reinier.carm...@gmail.com> > > ecribió: > > > > jejeje, peor, ubuntu 12.04 > > > > > > El 22 de mayo de 2013 05:01, låzaro <netad...@lex-sa.cu> escribió: > > > > > > acere!!!!, que nada en debian pincha bien :/ > > > > > > Reinier Carmona Lizana cogió un teclado y escribió: > > > > > > no importa, tu tiras, el hiperstraier no me funciona como > quiero, al > > final > > > pincho en los link y no me los abre, como que se qda marea2 > > > > > > > > > > > > > > > El 22 de mayo de 2013 04:32, låzaro <netad...@lex-sa.cu> > escribió: > > > > > > el problema es que mnogosearch no est'a en el repositorio > y > si > > las cosas > > > faciles que amndo nadie las lee, cuando mande como > descargar y > > compilar > > > mnogosearch se van a quedar loco. Ahora cuando reinstale > la > > itnerfaz > > > grafica vere que hago > > > > > > > > > Reinier Carmona Lizana cogió un teclado y escribió: > > > > > > > > > > > > Lazaro suelta esta miel q hace rato la tienes bajo la > manga, > > jejeje > > > > > > > > > > > > "chico, yo tengo mi archivo particular, con mailarchive > e > > hipermail creo > > > > el archivo apartir de lo que recivo y con mnogosearch lo > > indexo. Eso no > > > > es tan complejo" > > > > > > > > La idea es archivar todo lo q me llega por ejemplo de > gutl y > > buscarlo > > > offline. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. ______________________________________________________________________ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l