Buscador DRY
Tengo una idea rondando en la cabeza hace ya unos meses… y si bien es super simple y creo que muy útil, hay cosas que no termino de ver, puede que la idea sea una idiotez, pero quiero compartirla a ver que opinan.
¿Qué es DRY?
Es un concepto usado a la hora de desarrollar aplicaciones, mas precisamente, son las siglas de Don’t Repeat Yourself, es decir, No Te Repitas.
Con esto se refiere a que si tenes que crear dos consultas idénticas a la base de datos, no dupliques el código, encapsula la consulta en una función y llamala cuantas veces quieras.
Usando esta técnica se ahorra muchísimo tiempo de desarrollo, y además queda un trabajo muy limpio y fácil de mantener, ya que al solucionar un error se solucionan todas las llamadas a esa función. Parte de las ventajas de la POO.

¿Qué es un buscador DRY?
Hasta aca no dije nada nuevo, ahora, ¿qué pasa si aplico el concepto de DRY a un buscador?
Basandome en estas dos premisas:
- En internet está toda la información que necesites.
- Y no solo está la información sino que seguramente ya fue encontrada por alguien.
Entonces, si está la información, y ya fue encontrada, ¿por qué debo buscarla yo nuevamente? No sería mas fácil que cada pregunta tenga una respuesta, o si bien no es posible solo una, tienda a ser la menor cantidad posible.
Es decir, una pregunta está respondida cuando se ofrece una respuesta válida, no cuando se ofrecen la mayor cantidad de probables respuestas, con esto me refiero a los buscadores actuales.
Los problemas
El mayor problema, es el de la interpretación. Si bien toda pregunta tiene una única respuesta válida, esto varía de acuerdo a quién es que lo pregunta, y aca se complica un poco el concepto.
No es lo mismo que un argentino busque presidente de mi país a que lo haga un ecuatoriano, por poner el ejemplo.
Para esto hay que tener en cuenta de donde proviene el que busca y como se comportaron los que están en regiones cercanas.
¿Cómo funcionaría?
El secreto está en la interfaz y en como recolectar el feedback de un usuario de la forma menos intrusiva posible.
Un caso de uso sería:
- Usuario A consulta por: Alquilar auto en Buenos Aires.
- Sistema, como es la primera vez que un usuario busca esa cadena de términos, envía un resultado sin recomendaciones.
- Usuario A, analiza los resultados e ingresa en el que cree mas satisfactorio.
- Sistema analiza cuánto tiempo permanece en ese sitio y si vuelve a ver los resultados por otras alternativas. Si el usuario no lo hace, este resultado es marcado como sugerible.
- Usuario B busca la misma cadena de términos (Alquilar auto en Buenos Aires).
- Sistema responde con un listado de resultados, pero ademas le recomienda el resultado que fue mas útil a los demas usuarios con características similares a este (geolocalización, idioma, historial de búsquedas, etc).
- Vuelve al punto 04
¿Es muy loca la idea? Si es algo útil, ¿por qué no se hace aún? Lo mas cercano que vi son resultados de búsqueda con votos al estilo digg, eso no sirve, cuando busco algo quiero el resultado ya, no voy a votar que es mejor o peor, incluso eso fomenta al cheating por parte de los SEO y demás.
Aclaración: Algo que olvidé mencionar, es que en principio tiraría de la API de Google o algún buscador para obtener los resultados base, este sistema solo recomienda los resultados que sabe fueron útiles a otros.

Comentarios
# - 2007-09-18
El problema quiza ocurriria cuando se busquen contenidos de actualidad, o informacion susceptible de cambio, ejemplo: “fecha tercera del torneo argentino”, puede ser clausura, apertura, 2004, 1999, 1963… Otro problema que se me ocurre es con busquedas del tipo: “Juan Perez” donde en un mismo pais (sobretodo los latinos) hasta el presidente se puede llamar Juan Perez. Por ultimo, se me ocurre un ultimo problema, que es enfoques sobre un mismo tema, ejemplo: “comunismo”; no es lo mismo el comunismo visto por Marx, que el comunismo visto por Bush, Bin Laden o el Buda… Igual la idea me gusta…
# - 2007-09-18
suena bien eh! y un tanto complejo. me supera. sería como un “buscador social” lo cual requiere de la valoración de los usuarios y de la efectividad del motor de búsqueda. entendí bien o…
# - 2007-09-18
Muy buena idea.
Hace un tiempo ví una especie de sandbox de google, en donde buscabas algo y te permitía ordenar los resultados, imagino que para después usar ese orden en los resultados de otros.
Otro approach que vi es el de squidoo, mucho más casero: para cada búsqueda importante que hacés, podrías crear una página con todo lo que encontraste. Pero no es escalable.
Me gusta la idea también.
# - 2007-09-18
Muy buena idea.
Justamente estos días en la conferencia Techcrunch40 se presentó un nuevo proyecto que es un buscador P2P. Que si bien no es eso en lo que se aproxima a tu idea, pero si en lo que sería el PeerRank que es el ranking de búsqueda que adquiere cada página en base a las palabras utilizadas. Por lo que los resultados son, generalmente, los mejores no solo los que tengan mejor pagerank en Google o así. Una idea interesante. http://www.faroo.com/
# - 2007-09-19
La verdad no he usado mahalo pero al escuchar que es un search engine “powered by humans” me suena a eso. Si creo que es una buena idea, evidentemente, pero no se porque me suena a algo que de alguna manera está en el algoritmo de Google o lo estará en algun futuro próximo.
# - 2007-09-19
Creo que eso es lo que quiere hacer Wikipedia, un buscador en el que se tengan en cuenta las experiencias previas de los usuarios…
# - 2007-09-20
Al leer tu idea se me vino a la cabeza el proyecto Mahalo, que como bien dice sosa, es un search engine powered by humans..
No es mala tu idea porque es algo realmente útil, se pierde bastante tiempo buscando información, los resultados están duplicados muchas veces y otra es que hay sitios que copian material de otro lugar (copy-paste) y aún así rankean mucho mejor que quien realmente se gastó en escribir ese artículo.
Y también coincido en que habría que ver como lidiar con eso que dice LuK..
# - 2007-09-21
Es buena idea, se me ocurre que se podria implementar por medio de la barra de google en el explorador, que mantenga la sentencia de busqueda y que cuando llegaste a lo que realmente te es util pulses un boton en la barra…
pero bueno…tiene la contra de que tenes que tener instalada la barra e igualmente puede ser manipulado…veo complicada alguna forma de implementarlo que no pueda ser manipulada…
# - 2007-09-23
laa verdad no lei la nota jja, peero me sorprendio lo rápido q cambias el formato del blog, q a proposito estann muy buenos los articulos jaja
saludoss
# - 2007-10-16
Hasta donde yo recuerdo esto ya lo hace Google, integra esto de alguna forma no tan obvia. Pero en base a ello salen las recomendaciones