Foros del Web » Programando para Internet » PHP »

Motor de busqueda PHP

Estas en el tema de Motor de busqueda PHP en el foro de PHP en Foros del Web. Bueno mi pregunta es simple, ya he hecho motores de búsqueda simples, donde dado un campo de texto busco las coincidencias en una columna de ...
  #1 (permalink)  
Antiguo 02/02/2012, 11:23
 
Fecha de Ingreso: junio-2010
Ubicación: Puebla, Pue.
Mensajes: 70
Antigüedad: 13 años, 10 meses
Puntos: 1
Motor de busqueda PHP

Bueno mi pregunta es simple, ya he hecho motores de búsqueda simples, donde dado un campo de texto busco las coincidencias en una columna de una tabla.

Pero voy a hacer una búsqueda para una tabla de curriculums y lo que quieren es una búsqueda pero con una descripción mas larga, ejemplo:
"Ingeniero tractores Puebla"

Y que busque todas las coincidencias pero en toda la tabla no solo en una columna.

A diferencia de la búsqueda simple que lo que te pongan en el campo lo buscas en una columna, aquí debe buscar en todas.

Es como una búsqueda tipo de google, y no tengo idea de como empezar para hacer una búsqueda optima y que no sea tan lenta en una tabla con muchos registros :S

Ojala alguien pueda ayudarme a orientarme o no se si ya haya motores hechos que simplifiquen este tipo de búsqueda.

De antemano gracias amigos ;)
  #2 (permalink)  
Antiguo 02/02/2012, 11:42
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años
Puntos: 0
Respuesta: Motor de busqueda PHP

Cita:
Iniciado por ljbautista Ver Mensaje
Bueno mi pregunta es simple, ya he hecho motores de búsqueda simples, donde dado un campo de texto busco las coincidencias en una columna de una tabla.

Pero voy a hacer una búsqueda para una tabla de curriculums y lo que quieren es una búsqueda pero con una descripción mas larga, ejemplo:
"Ingeniero tractores Puebla"

Y que busque todas las coincidencias pero en toda la tabla no solo en una columna.

A diferencia de la búsqueda simple que lo que te pongan en el campo lo buscas en una columna, aquí debe buscar en todas.

Es como una búsqueda tipo de google, y no tengo idea de como empezar para hacer una búsqueda optima y que no sea tan lenta en una tabla con muchos registros :S

Ojala alguien pueda ayudarme a orientarme o no se si ya haya motores hechos que simplifiquen este tipo de búsqueda.

De antemano gracias amigos ;)
Aqui va una ayudita, mirate bien el codigo:

Código PHP:
<?php

$str_sch 
'Ingeniero marcos galvan';
$str_sch strtolower($str_sch);
$palabras explode(' ',$str_sch);
$query 'SELECT * FROM tabla_busqueda WHERE ';
if (
count ($palabras) > 1)
{
    foreach (
$palabras as $k => $v)
    {
        if ((
count($palabras) - 1) == $k)
        {
            
$query .= "campo LIKE '%$v%';"
        }
        else
        {
            
$query .= "campo LIKE '%$v%' OR "
        }
       
    }
}
else
{
        
$query .= "campo LIKE '%$palabras[0]%';"//Una sola palabra clave
}
echo 
$query;
?>
  #3 (permalink)  
Antiguo 02/02/2012, 14:49
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 7 meses
Puntos: 80
Respuesta: Motor de busqueda PHP

Debes realizar búsquedas con campos fulltext, pues te permite buscar en varios campos a la vez y multiples palabras e incluso utilizar simbolos de + - etc para obligar a que este una palabra o no.


Te dejo un ejemplo Buscador FullText

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp

Etiquetas: motor, mysql, busquedas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:25.