Sobre los indices
Cuando se hace el crawl de internet vamos recogiendo contenidos de cualquier tipo. Podemos usar filtros para, por ejemplo, solo indexar archivos html. Pero ahora bien, no solo hay que coger el documento y meterlo en el indice, sino que hay que ver si el documento ha de ir al indice, o a que indice exactamente toca meterlo.
Pensemos que podemos tener un indice para cada idioma. asi el buscador nubumu.es usaria un indice con los contenidos basicamente en espanyol, o el nubumu.co.uk usaria uno en ingles.
No tenemos por que tener indices diferentes y podiamos usar colecciones para separar contenidos por idioma... y es ahi a donde queria ir a parar: Creamos un indice generico o uno basado en alguna taxonomia? Un indice generico enorme nos llevara rapidamente a problemas de escalabilidad y rendimiento. Varios indices haran que tengamos que tener un index dispatcher o algun animalillo que sepa a que indice tenemos que mandar la query.
Recordad que en los indices solo guardamos PKs o claves primarias.
Mi experiencia, pues en ComSec me encontre con que uno de los indices era como 14 veces mas grande de lo esperado. Claro, el rendimiento era horrible y rehacer el indice costaba como una noche. Tened en cuenta que hay dos tipos de indices: incrementales y no incrementales. Con los incrementales tienes mas flexibilidad una vez el proceso de indexado es estable.
El problema, como acostumbra a pasar con todo lo relacionado con las busquedas, es saber. Saber que esta buscando el usuario. Si lo supiera, podria tener multitud de indices y redirigirlo al indice mas adecuado, pero acostumbra a pasar que no lo sabes. Solucion? pues o tomas la decision tu, o la delegas en el usuario.
Todo el proceso que tan en boca de todos esta ahora de hacer buscadores que aprenden, o buscadores sociales donde la gente decide como de importante o relevante son los resultados apuntan a este tipo de soluciones. Deleguemos en los usuarios la responsabilidad de decidir que es relevante al tema de la busqueda y que no.
Problemas? esa gente que quiere enganyar a los indices :) Pero tal vez la pregunta es, es el proceso de busqueda un proceso subjetivo u objetivo? si es objetivo podemos intentar dar con el algoritmo pero si no lo es, deberemos usar la estadistica para meter a la gente en grupos e intentar haberlo hecho bien.
De momento, todo lo que hay hasta la fecha se basa en procesos subjetivos usando algoritmos objetivos. O sea, que ni lo uno ni lo otro... pero quien dijo que el mundo tenia que ser blanco o negro?
Pensemos que podemos tener un indice para cada idioma. asi el buscador nubumu.es usaria un indice con los contenidos basicamente en espanyol, o el nubumu.co.uk usaria uno en ingles.
No tenemos por que tener indices diferentes y podiamos usar colecciones para separar contenidos por idioma... y es ahi a donde queria ir a parar: Creamos un indice generico o uno basado en alguna taxonomia? Un indice generico enorme nos llevara rapidamente a problemas de escalabilidad y rendimiento. Varios indices haran que tengamos que tener un index dispatcher o algun animalillo que sepa a que indice tenemos que mandar la query.
Recordad que en los indices solo guardamos PKs o claves primarias.
Mi experiencia, pues en ComSec me encontre con que uno de los indices era como 14 veces mas grande de lo esperado. Claro, el rendimiento era horrible y rehacer el indice costaba como una noche. Tened en cuenta que hay dos tipos de indices: incrementales y no incrementales. Con los incrementales tienes mas flexibilidad una vez el proceso de indexado es estable.
El problema, como acostumbra a pasar con todo lo relacionado con las busquedas, es saber. Saber que esta buscando el usuario. Si lo supiera, podria tener multitud de indices y redirigirlo al indice mas adecuado, pero acostumbra a pasar que no lo sabes. Solucion? pues o tomas la decision tu, o la delegas en el usuario.
Todo el proceso que tan en boca de todos esta ahora de hacer buscadores que aprenden, o buscadores sociales donde la gente decide como de importante o relevante son los resultados apuntan a este tipo de soluciones. Deleguemos en los usuarios la responsabilidad de decidir que es relevante al tema de la busqueda y que no.
Problemas? esa gente que quiere enganyar a los indices :) Pero tal vez la pregunta es, es el proceso de busqueda un proceso subjetivo u objetivo? si es objetivo podemos intentar dar con el algoritmo pero si no lo es, deberemos usar la estadistica para meter a la gente en grupos e intentar haberlo hecho bien.
De momento, todo lo que hay hasta la fecha se basa en procesos subjetivos usando algoritmos objetivos. O sea, que ni lo uno ni lo otro... pero quien dijo que el mundo tenia que ser blanco o negro?
Labels: indices


0 Comments:
Post a Comment
<< Home