Soundex es para eso, si lo quieres usar bien, de lo contrario debes
hacer un indice con todas las variantes que se te puedan imaginar.
On 10/24/2015 11:41 PM, Francisco Olarte wrote:
2015-10-22 22:37 GMT+02:00 Horacio Miranda <hmira...@gmail.com>:
Por que no usar soundex ?
http://www.postgresql.org/docs/9.1/static/fuzzystrmatch.html
¿ Porque, segun el primer parrafo de la pagina a la que apuntas "The
Soundex system is a method of matching similar-sounding names by
converting them to the same code. It was initially used by the United
States Census in 1880, 1900, and 1910.>>>> Note that Soundex is not
very useful for non-English names.<<<<<" y el uso de tildes implica
non-English names ?
AFAIK el soundex NO esta definido si hay tildes y tira todas las
vocales no iniciales. Yo en esos casos siempre he optado por hacer un
folding si se conoce el alfabeto de entrada, algo como [select
translate('Método', 'áéíóúñ','aeioun');]. Si se encapsula eso en una
funcion SQL marcada como "strict inmutable" se puede hacer un indice
por esa expresion y usarla en los queries ( si se hace cuidado, no se
puede cambiar la funcion despues de crear el indice, por algo se marca
immutable, hay que reindexar ). Yo he usado eso para cambiar las cosas
mas habituales del latin1 a ascii ( la db era utf8, pero como los
usuarios venian de windows, uno de los pocos SO que es unicode por
dentro, los datos usaban solo, como es habitual, caracteres presentes
en win1252), ya que tenia un problema similar.
Francisco Olarte.
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda