Foros del Web » Programación para mayores de 30 ;) » Java »

Buesqueda Eficiente

Estas en el tema de Buesqueda Eficiente en el foro de Java en Foros del Web. Hola! Estoy haciendo un aplicación en la que se realizará una búsqueda sobre textos de muchos objetos. Es decir, si busco la palabra COMER y ...
  #1 (permalink)  
Antiguo 10/07/2008, 09:47
 
Fecha de Ingreso: julio-2007
Mensajes: 26
Antigüedad: 16 años, 9 meses
Puntos: 0
Buesqueda Eficiente

Hola!
Estoy haciendo un aplicación en la que se realizará una búsqueda sobre textos de muchos objetos. Es decir, si busco la palabra COMER y CENAR, deberá retornar los objetos que tengan como descipcion COMER y CENAR.

Mi pregunta es, cual es la mejor manera de hacer búsquedas eficientes sobre textos largos? Hay alguna manera de no tener que recorrerme palabra por palabra?

un saludo y gracias anticipadas
  #2 (permalink)  
Antiguo 13/07/2008, 20:01
Avatar de julianchoss  
Fecha de Ingreso: julio-2006
Ubicación: Armenia
Mensajes: 26
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Buesqueda Eficiente

Claro q ahi otras formas. con solo utilizar el metodo contains puedes hacer la busqueda sin necesidad de implementarla a mano.
Ej:
if( texto.contains("comer") )

Si necesitas la posicion exacta de la palabra, puedes usar el metodo indexOf, el cual te retorna el indice de la primera aparicion de la cadena y el metodo lastOf te da la ultima aparicion.
  #3 (permalink)  
Antiguo 14/07/2008, 10:57
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: Buesqueda Eficiente

Hola para hacer lo que tu quieres debes utilizar un indexador de texto que te ayude a buscar sobre ese texto indexado, existen varias libs hay una llamada Lucene que es muy buena, yo no he tenido tiempo de utilizarla bien del todo pero segun he leido en las webs es una de las mejorcittas que anda

saludos
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
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 13:28.