Instalación de mnogosearch

¿Qué es mnogosearch?

MnogoSearch es un motor de búsqueda que puede utilizarse dentro de un sitio Web, intranet o un sistema local. Para una búsqueda entre documentos, usted tiene que indexarlos primero utilizando el componente indexado de mnoGoSearch. El indexador es una araña que lee los documentos que usted especifica y almacena la información sobre palabras que este encuentra en una base de datos.

Requisitos

Pueden ver como instalar esto en ApachePhpMysql

Instalación

Instale en varios servidores el mnogosearch y tengo problemas con el "auto configurador", por eso voy a mostrarles como configurar manualmente el server, y nos quedamos seguros de que va a funcionar.

apt-get install mnogosearch-mysql mnogosearch-common

Cuando nos pregunte

"Overwrite mongosearch configuration files?"

Seleccionamos NO y terminamos. 5.png

Base de datos

En este caso, el indexador guarda los datos en mysql. Vamos a crear una tabla y un usuario para que el mnogosearch pueda guardar sus registros.

Creando la Base de datos con phpmyadmin

Para el que no sea "amigo" de las consolas, vamos por lo "gráfico":

1.png

2.png

3.png

4.png

Creando la Base de datos por Consola

Para los que le gusta la "acción":

  1. Abrimos una consola en el servidor como "root" (puede ser por ssh)
  2. Ingresamos al Mysql con este comando
    • mysql -u root -p 
  3. Creamos la base de datos llamada "mnogosearch"
    • CREATE DATABASE mnogosearch 
  4. Creamos un usuario
    • CREATE USER mnogosearch@localhost IDENTIFIED BY 'contraseña_recordarla_se_usara_mas_adelante';

  1. Damos permisos totales solamente a la tabla mnogosearch
    • grant all on mnogosearch.* to mnogosearch;

Configurando conexión del Indexador a la base de datos

Una vez que tenemos nuestra base de datos creada, editamos el archivo de configuración:

nano /etc/mnogosearch/indexer.conf

Buscamos la linea que comienza con "DBAddr"

DBAddr mysql://root@localhost/test/?dbmode=single

Comentamos la linea con un un "#" al comienzo de la linea

Agregamos esta linea modificando previamente el campo contraseña_guardada ( este campo es el que guardamos al crear la tabla y usuario mnogosearch )

DBAddr  mysql://mnogosearch:contraseña_guardada@localhost/mnogosearch/?dbmode=single

Quedaría de esta manera:

#DBAddr mysql://root@localhost/test/?dbmode=single
DBAddr  mysql://mnogosearch:U45y4CTtbVutuy564ert6WD@localhost/mnogosearch/?dbmode=single

Guardamos y salimos del editor

Configurar Apache

Para tener acceso al search.cgi en la configuración del virtualhost de apache es necesario agregar las siguientes líneas:

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

En una instalación por defecto de apache2, el virtualhost lo podés encontrar en:

/etc/apache2/sites-available/default

Creando estructura del indexador

Para que el indexador cree automáticamente la estructura de la tabla mysql solo tenemos que poner este comando:

indexer -Ecreate 

En el final de prosedimiento mostrara este resultado

13 queries sent, 13 succeeded, 0 failed 

Perfecto. ya tenemos nuestro buscador instalado y listo para usar. podemos ver la web del buscador en

http://la_ip_del_server/cgi-bin/search.cgi (todavia no esta funcionando, tampoco tiene coneccion al mysql)

Configurando el Indexador

Todavia no le dijimos ¿que buscar?

bueno, una vez mas tenemos que configurar el mnogosearch desde su archivo de configuracion en /etc/mnogosearch/indexer.conf

Ates de tocar este archivo.

Tiene varias formar de indexar. puede hacer una indexación local por directorios, puede hacer una indexación por IP, o puede indexar por host y/o virtual hosts. aclaro que soy un arriesgado y un cara dura en hacer este Howto. dado que este programa es muy potente y creo que solo uso el 5% de todo su poder de indexación. Les voy a mostrar de todas las opciones que te da, la que mas se aplica a BAL. pero primero. vamos a tocar un par de cosas de la configuración y agregamos la compatibilidad de indexar .PDF (de no querer indexar los .pdf NO realizar los puntos 1,5,6,7)

  1. Instalamos Xpdf (herramienta para manejo de archivos PDF)
    • apt-get install xpdf 
  2. Editamos nuevamente el archivo de configuración:
    • nano /etc/mnogosearch/indexer.conf 
  3. Cambiamos la linea:
    • Include stopwords.conf
      por:
      #Include stopwords.conf
  4. Cambiamos la linea:
    • Include langmap.conf
      por:
      #Include langmap.conf
  5. Cambiamos la linea:
    • Disallow *.rtf  *.pdf  *.cdf  *.ps 
      por:
      #Disallow *.rtf  *.pdf  *.cdf  *.ps
      Disallow *.rtf  *.cdf  *.ps
  6. Cambiamos la linea:
    • AddType application/pdf                        *.pdf
      por:
      #AddType application/pdf                       *.pdf
      AddType application/pdf - String - Match - Insensitive - *.pdf
  7. Cambiamos la linea:
    • #Mime application/pdf          text/plain                 "pdftotext $1 -" 
      por:
      Mime application/pdf          text/plain                 "/usr/bin/pdftotext $1 -" 

Entramos en la última parte, que es indicar al indexer que es lo que tiene que indexar. Como dije antes. hay varias maneras:

Server http://www.buenosaireslibre.org 

Server http://10.4.18.65 

Server http://10.4.18.65/carpeta/ 

Server http://www.buenosaireslibre.org/index.html 

Server http://10.4.18.65/carpeta/archivo.txt 

file:///var/www/tuweb/ 

file:///var/www/tuweb/archivo.txt 

Server http://open.open.bal/  file:///var/www/open/ 
  1. para probar nuestro indexador vamos al final de archivo de configuracion y agregamos esta linea
    • Server http://wiki.buenosaireslibre.org/

Comenzar Indexacion

Para comenzar a indexar solo tenemos que tipear este comando

indexer 

OPEN2:~/1.96# indexer 
indexer[7863]: indexer from mnogosearch-3.3.7-mysql started with '/etc/mnogosearch/indexer.conf'
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/
indexer[7863]: [7863]{01} ROBOTS: http://wiki.buenosaireslibre.org/robots.txt
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/JoaquinRivera
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Pedidos
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Reuniones/Taller/Materiales
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/%C3%8DndicePorPalabras
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/ListadoDeServicios
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Mapa
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/P%C3%A1ginaInicial?action=login
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Nodos%26APs
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/P%C3%A1ginaInicial
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/WiKi
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Gu%C3%ADas%26HowTos
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/ListadoNodos
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/wiki/common/js/common.js
indexer[7863]: [7863]{01} Unsupported Content-Type 'application/x-javascript'
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Obelisco
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/C%C3%B3moParticipar
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/BALLS
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Galer%C3%ADa
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/BuenosAiresLibre
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Noticias
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Glosario
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/ListasDeCorreo
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Objetivo
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/AyudaSobreFormato
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/P%C3%A1ginaInicial?action=AttachFile
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Reuniones/IRC
indexer[7863]: [7863]{01} URL: http://wiki.buenosaireslibre.org/Reuniones

Dejemos pasar unos minutos para que indexe algunas webs y presionamos "control + c" para cancelar la indexación. porque solo es una prueba del sistema. Veremos que nos informa cuantos documentos indexo, tiempo, tamaño, etc.

^Cindexer[7863]: [7863]{01} SIGINT received. Terminating. Please wait...
indexer[7863]: [7863]{01} Done (122 seconds, 41 documents, 1081510 bytes,  8.66 Kbytes/sec.) 

Cada vez que quieran indexar algo . solo lo agregan en el indexer.conf (paso 2 y 8 solamente) el indexador detectara si se eliminaron las webs/archivos y guarda un registro cuando no los encuentra. por X periodo de tiempo este no puede ser encontrado/conectado lo elimina de la base de datos. pasa lo mismo si sacan algo del indexer. igual mas adelante explico como limpiar la base de datos.

Configurando Interfaz Web

La parte mas interezante y la que mas me gusta porque es lo que ve la gente.

antes vimos esta web. http://ip_del_server/cgi-bin/search.cgi bueno ya tenemos indexado una parte del wiki de BAL. pero si buscamos algo tira un error de conexión. esto es porque le falta configurar la coneccion a la base de datos.

  1. Abrimos una consola
  2. Editamos el archivo /etc/mnogosearch/search.htm

nano /etc/mnogosearch/search.htm 
  1. buscamos la linea "DBAddr"

DBAddr mysql://root@localhost/test/?dbmode=single 
  1. la remplasamos por la misma que pusimos en el /etc/mnogosearch/indexer.conf
    DBAddr  mysql://mnogosearch:U45y4CTtbVutuy564ert6WD@localhost/mnogosearch/?dbmode=single 
  2. Guardamos y Salimos

Ingresamos nuevamente al buscador via web. http://ip_del_server/cgi-bin/search.cgi

y buscamos la letra "a" para ver que aparece.

Si llegaste hasta este punto y te funciono. primero te felicito por entenderme que ya es mucho. y segundo hacete una copia de la configuración y empeza a tocar todo lo que se te ocurra.

Mantenimiento de la Base de datos

Si alguna vez queremos purgar la base de datos, lo podemos hacer con el comando -C

indexer -C

Cuando use mas comandos los voy poniendo.



CategoryDocuments CategoryDocuments

Wiki: MnogoSearch (last edited 2008-09-28 09:18:10 by localhost)

USLA