Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Un motor de Busqueda en JAVA (http://www.forosdelweb.com/f45/motor-busqueda-java-262853/)

alexbariv 18/01/2005 07:46

Un motor de Busqueda en JAVA
 
Hola a todos!! :-)

Resulta que quiero hacer que mis motores de busqueda sean super geniales.

Mi algoritmo actual de busqueda se basa en hacer una query de la base de datos, luego los extraigo con un resultSet, y mediante do{}while coloco los resultados en una tablita html... (super sencillo)...:-D

Pero ahora me encontre conque mis usuarios tienen mas de 50 registros en la bd, y pues la busqueda se hace algo molesta porque te salen 50 registros de un solo golpe.:no:

Lo que quiero es hacer como los buscadores HIGH, hacer que aparescan resultados de 10 en 10 o de 20 en 20, de acuerdo a una eleccion que le pienso dar al user con una lista combo, cual es la mejor forma de hacer que la query me devuelva resultados de esta forma¿?:patada:

Lo otro es hacer criterios enlazados o especiales, es decir, que al poner Estudiante: Alex FechaNac:1984 aparescan los estudiantes que empiecen por alex y hayan nacido en ese año, para esto no tengo ni la mas minima idea de como proceder, asi que un poco de codigo o ideas no vendria mal :si:

Un saludo y gracias de antemano :adios:

ValerioJ 19/01/2005 11:45

Bueno tienes que hacer una especie de paginar datos en aspfacil.com te aparece como hacer esto y en cuanto a lo de la selección te propongo que lo hagas de dos maneras algo así:
1) Más o menos en un select comun se hace esto:

creas una variable: donde capturas el valor a buscar
luego determinas el número de caracteres que esta contenga
y ese valor lo declaras tipo Entero o numérico y después armas un select de forma dinámica con este parámetro esto es:
EJEMPLO:

VARIABLE_BUSCAR='andre'

luego determinas el tamaño así,
variable_tam=len(VARIABLE_BUSCAR),

Y luego armas el select de la siguiente manera:

SELECT CAMPO1,CAMPO2,CAMPO3 FROM MITABLA WHERE LEFT(CAMPO1,variable_tam)=VARIABLE_BUSCAR

y la otra sería más sencilla aún es: utilizar un SELECT * FROM TABLA WHERE left(CAMPO1,4) like variable_buscar y listo.

alexbariv 19/01/2005 13:04

En java cual seria la sentencia para escanear un string¿?

Por decir, si mis usuarios colocan 'Alex + 1984', yo pueda encontrar ese + y los espacios para dividir las palabras y de esa forma hacer los left¿?


Gracias!!!!
:adios:

suprempada 24/01/2005 01:09

separar una cadena
 
en java existe una clase llamada StringTokenizer, la cual se construye en base a una cadena, y a los caracteres por los que se va a separar.

el constructor es:
StringTokenizer(String cadena, String delim, boolean regdelim);

ejemplo:

StringTokenizer token= new StringTokenizer("esta es una cadena","a",true);

el objeto token divide la cadena de ejemplo "esta es una cadena" en partes las cuales se forman cuando al recorrer la cadena, encuentra una 'a', por default, el delimitador es el espacio en blanco, y los almacena en un arreglo, y el tercer parametro se refiere a si cuenta tambien el delimitador.


Por ahora no recuerdo mucho, pero investiga mas sobre el StringTokenizer, es lo que necesitas.


La zona horaria es GMT -6. Ahora son las 08:14.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.