AddThis Feed Button
AddThis Social Bookmark Button
IMGP1165
IMGP1166
IMGP1143
IMGP1144
IMGP1145
IMGP1146
IMGP1147
IMGP1148
IMGP1149
IMGP1150
Categories

This Month Last Year

Julio 2008
L M X J V S D
« Jun «-»  
 123456
78910111213
14151617181920
21222324252627
28293031  
links
01
Jun

Diccionario Asturiano (Bable) Español (Castellano)

Pos eso, me puse ha realizar unas pruebas de como usar el FULLTEXT Search de MySQL, y me dio por crear un pequeño y simplón buscador para un diccionario “ficticio” (la base de datos es real, pero muy simple)

Podeis consultarlo en http://dev.dubasdey.com/dic_es_as/


10
Jun

Software Recomendado (II)

MySQL
Visitando la Bitácora del Webmaster me reencontré con un programa que me fue muy útil en el pasado y que había olvidado su existencia. Se trata del Access to MySQL. Como su propio nombre indica, convertirá cualquier base de datos de Access en un script (.sql) optimizado para MySQL, o directamente puede crear el esquema en el servidor de MySQL si le das los parámetros de conexión. Muy práctico de cara a migrar información.

Podéis descargarlo de aquí. ya que la web del autor esta offline. Requiere el ODBC de MySQL (el 2.50 para versiones inferiores de MySQL 4.x y el 3.5.1 para superiores).


19
Abr

ServiceManager beta

PHP
Después de muchos días sin poder postear por diversos motivos (primero router que no sincroniza en días, luego se me murió el O.S. y luego la constante acumulación de trabajo en el curro) vuelvo y con sorpresas.

Acabo de terminar una aplicación (en su primera beta) que os ayudara a gestionar los Services de los Servidores más habituales. En esta primera versión añadí Apache, MySQL (en este articulo tenéis como instalarlo como un servicio, ya que por defecto no lo hace), SQL Server y el IIS.

La aplicación es sencilla y practica. Un icono en la barra de tareas que tiene un menú contextual que carga con las opciones disponibles según los servers que tengáis instalados. Desde ahí podréis detener o iniciar cualquiera de ellos con un simple click.

También incorporé una opción para que arranque automáticamente con Windows si se desea.

Requiere el Framework de .NET ya que esta programado en C# pero podéis bajarlo gratuitamente desde el enlace que os dejo aquí. Si tenéis alguna sugerencia ya sabéis donde encontrarme.

Framework 1.1 : descargar.

ServiceManager : Descargar.


14
Abr

HowTo : Instalación de AMP

Para los no iniciados, AMP se le denomina al conjunto que forman Apache, PHP y MySQL. La instalación es muy sencilla, no nos llevara más de unos minutos. Para empezar os dejo los links de descarga (Yo utilizo estas versiones, no uso aún Apache2, PHP5 ni MySQL5).

Apache : descarga gratuita.

PHP : descarga gratuita.

MySQL : descarga gratuita.

Instalación PHP:

PHP
Con diferencia la más sencilla de las tres instalaciones. Se descarga el archivo comprimido, mismamente en c:\\php\\, se copia el archivo php4ts.dll de c:\\php\\ a c:\\%SYSTEMROOT%\\SYSTEM32 (ya sea WINNT o WINDOWS), y finalmente se renombra el php.ini-dist a php.ini y se coloca en c:\\%SYSTEMROOT%\\ . Y listo, aunque como añadido también debéis saber que para conectar PHP con algunas SBD\’s es necesario descomentar en el php.ini la dll de conexión. Por ejemplo en ORACLE: extension=php_oci8.dll

Instalación Apache:

Apache
Esta vez dispondremos de un ejecutable (tras descomprimir si estuviera comprimido), solo tendremos que ejecutarlo y rellenar tres casillas. Network Domain -> 127.0.0.1 ; Server Name -> 127.0.0.1 ; Administrator\'s Email -> sumail@suproveedor.com. Después seleccionamos la instalación completa y listo. Por defecto os quedará instalado como un servício y con arranque automático. Para modificar esto Inicio / Ejecutar / services.msc , seleccionáis el Apache y doble click. Y ponéis la configuración que queráis. Además del Apache os agrega un acceso directo a Arrancar, Reiniciar y Parar el servicio de Apache. El de reiniciar es muy útil, ya que cada cambio que se haga en la configuración requerirá un reinicio.

El primero de estos cambios será añadirle la carga del módulo de PHP (para que el Apache pueda ejecutar el código PHP). Basta con abrir desde el menú de inicio el archivo httpd.conf que viene con el propio Apache y añadir abajo del todo estas dos líneas:


LoadModule php4_module c:/php/sapi/php4apache.dll
AddType application/x-httpd-php .php

También es recomendable crear una carpeta para el contenido del server (por ejemplo: "c:\\apache"), y cambiar el parámetro DocumentRoot "c:\\apache\\".

Ahora reiniciar el Servidor Apache con el acceso directo mismamente y aseguraros de tener abierto el puerto 80 (a no ser que queráis cambiarlo, también en el php.ini, la opción Listen: 80) para que tengan acceso a vuestro server desde fuera de la red local.

Para hacer una prueba podéis usar cualquiera de los clásicos:


<?php
phpinfo();
?>

<?php
echo "Hello World!";
?>

Si entráis al localhost directamente debería deciros el ya mítico mensaje:

“¡Funcionó! ¡El Servidor de Red Apache ha sido instalado en ese sitio!", y luego si ejecutáis el código, deberá mostraros el mensaje de Hola Mundo, o la información del sistema.

Instalación MySQL:

MySQL

Ahora nos toca finalizar con la instalación del AMP, y es el turno del SBD MySQL. Para la instalación, descomprimimos el archivo descargado, ejecutamos el setup.exe y les decimos que instale mismamente en c:\\mysql\\ (sobre todo de cara a evitar posteriores cambios en la configuración). Tras la instalación, lo más útil para su posterior manejo, es convertir el servidor en un servicio de windows. Para ello basta con ejecutar: c:\\mysql\\bin\\mysqld --install . Así pues, podéis crearos unos bat para manejarlo simplemente con las órdenes net start mysql para arrancarlo y net stop mysql para detenerlo.

Pues solo con estos sencillos pasos tendréis instalado todo lo necesario para empezar a programar en PHP sobre Apache con bases de datos de MySQL. A disfrutar y no os perdáis algunos trucos que pondre por aquí.


18
Mar

Busquedas en MySQL usando FULLTEXT

Cuando realizamos una b&úacute;squeda de varios campos lo com&úacute;n es hacer una SELECT usando “Like“, pero MySQL nos provee otro método de b&úacute;squeda, para usar este método solo hemos de añadir la clave “FULLTEXT” a los campos que queremos que se usen en la b&úacute;squeda,FullText solo se admite en campos Varchar y TEXT (tinytext,smalltext,text,longtext).



Una vez configuradas las claves de los campos podemos realizar busquedas SQL usando un “SELECT Match”



Ej:

SELECT * FROM articulos WHERE MATCH (titulo,descripcion) AGAINST ('paella');





Esta sentencia buscara en titulo y descripción y nos devolverá todas las tuplas que contengan la palabra “paella”.


Hay que tener en cuenta que para buscar por titulo y descripción hay que tener tanto titulo como descripción en la misma clave (una clave para las 2 columnas), si creamos una clave para cada columna podremos buscar por una u otra de las columnas, pero para buscar por ambas los campos del match (en este caso titulo y descripción) han de tener una clave asignada para ellos en conjunto.


Otra opción que nos da este sistema de b&úacute;squeda es el ordenar las b&úacute;squedas por relevancia (como hace google), ya que la sentencia Match se puede poner también como un campo de la select, devolviendo un valor numérico que indica su grado de relevancia.


Ej:

SELECT
titulo,descripcion, MATCH (titulo,descripcion) AGAINST ('paella') as Score
FROM
articulos WHERE MATCH (titulo,descripcion) AGAINST ('paella')
ORDER BY
Score DESC;




Con esto devolveremos las tuplas ordenadas por su mayor a menor coincidencia con la b&úacute;squeda del usuario.



B&úacute;squedas en modo boleano
Opcionalmente se pueden realizar b&úacute;squedas boleanas añadiendo el modificador IN BOOLEAN MODE


Ej:

SELECT * FROM articulos WHERE MATCH (titulo,descripcion) AGAINST ('+paella -aceitunas' IN BOOLEAN MODE);



Con esto buscaremos todas las tuplas que contengan obligatoriamente “paella” pero no “aceitunas”


En la pagina de la documentación de MySQL encontrareis información de todos los modificadores
(http://dev.mysql.com/doc/refman/5.0/es/fulltext-boolean.html)


Tambien puede ser interesante la opcion de expansión de consulta (“expansión de consultas ciega”).
Para realizar la expansión de consulta deberemos realizar una primera consulta de fulltext y después una segunda consulta de expansión que dará resultados adicionales que cosidera relevantes. En la documentación de MySQL proponen el ejemplo de b&úacute;squeda de la frase “database” (base de datos). Si realizamos una primera consulta solo nos aparecerían las tuplas que contengan la palabra “database”, pero en una segunda consulta de expansión, añadiría todos los resultados relevantes, obteniendo datos de la primera consulta. Si por ejemplo en la primera consulta al buscar por database aparecen una gran cantidad de campos con la palabra “MySQL” asociada con “database”, en la segunda consulta aparecerán también todos los resultados que contengan “MySQL” aunque no contengan “database”



Este sistema también es &úacute;til si escribimos mal por ejemplo el nombre de un autor, imaginemos que queremos buscar “Antonio Jose Rodriguez” pero escribimos “Antonio Jose Roguez”, en la consulta de expansión aparecerían los resultados correctos ya que Rodriguez es una palabra asociada a “Antonio Jose” en nuestras tuplas. Todos estos datos se pueden tambien ordenar por relevancia, de forma que estén en los primeros puestos las b&úacute;squedas mas coincidentes y después aquellas similares.



Las b&úacute;squedas de texto completo por defecto no son sensibles a may&úacute;sculas, pero esto depende de el tipo de localización que usemos. Si por ejemplo usamos “latin1″ podemos cambiar a “latin1_bin” y se realizaría la distinción, may&úacute;sculas y min&úacute;sculas.


Para la información completa de las b&úacute;squedas FULLTEXT puedes mirar en la documentación oficial de MySQL
http://dev.mysql.com/doc/refman/5.0/es/fulltext-search.html


Entradas siguientes »