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

Responder a