codwar / ipdburt

UrbanTerror ID/IP Database
3 stars 0 forks source link

soundex #44

Open mschonaker opened 13 years ago

mschonaker commented 13 years ago

Me dí cuenta que podríamos indexar partes del nombre aplicando el concepto de "soundex". Sería: para el player con nick "M4R4K4$", podemos agregar una variación "normalizada" que sería "marakas" (reemplazo textual). Al indexar, calculo que mejoraría la respuesta de las queries por alias y por ngrams.

El problema es modificar lo que ya está. Vamos a tener que ver cómo sorcho hacemos para mantener semejante volumen de datos y no comernos el CPU. No solo para este caso.

dahool commented 13 years ago

Sería algo interesante si. Esta "versión normalizada" donde la guardarías?

Para generar, para generar los que ya están se podría usar un cron que corra cada hora y ejecute unas 10 o 20 modificaciones por hora filtrando por algún flag o algo. Como sólo jugaríamos con los aliases y no va a ver ningún query raro no creo que consuma tanto.

dahool commented 13 years ago

que hacemos con esto? o en que momento se usaría? reemplazando los ngrams por esto?

hay que mejorar la implementación de la búsqueda ngram con mysql.

mschonaker commented 13 years ago

http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html :)

dahool commented 13 years ago

mysql incluye una función soundex, el problema es que no tenemos relevancia.

Se me ocurre eliminar los ngrams y generar otra columna con un texto normalizado (tendríamos que ver si existe algo, o crear una regla), por ejemplo: El S@lmon -> el salmon Luego, con un indice full text en ambas columnas, tendriamos resultados más precisos y ordenados por relevancia.