[Rio-pm] Consultas em array de objetos

breno breno em rio.pm.org
Quarta Junho 3 09:51:55 PDT 2009


2009/6/3 Lindolfo "Lorn" Rodrigues <lorn.br em gmail.com>:
> Se você quer bater a string EXATA, acho que não tem necessidade de usar algo
> do CPAN ( nem sei se tem ) mas se você quer bater com a string inextada,
> erros de digitação, etc você pode usar :
> http://search.cpan.org/~jhi/String-Approx-3.26/Approx.pm
> http://search.cpan.org/~tareka/String-Trigram-0.11/Trigram.pm
>
> Aí se o Livro tem o nome de "Harry Potter" e o grande usuário escrever
> 'harry poter'  ele vai achar, dependendo de quantos erros você configurar  1
> erro já pega bastante coisa, ele pode até dar "match" de hari poter com
> Harry Potter.
>

Claro, busca por aproximações costumam exigir alguns filtros especiais
dependendo do conteúdo e das regras morais e cívicas do público
usuário, vide a indústria pornô que adora "brincar" com nomes de
superproduções. Mas mesmo longe desse nicho, é importante saber sempre
o que o seu usuário espera obter nas buscas, para evitar casos como
esse:

http://g1.globo.com/Noticias/Cinema/0,,MUL735784-7086,00-ESTUDIO+DE+HARRY+POTTER+PROCESSA+INDIANOS+QUE+FIZERAM+FILME+HARI+PUTTAR.html

ou esse:

http://eduardos.tumblr.com/post/97618093


>> Funciona. Mas isso é razoável em um contexto orientado a objeto? Resolveu
>> meu problema de agora, mas provavelmente eu vou ter que fazer alguma classe
>> contendo uma interface que simplifique para outro programador o uso disso.

De qualquer forma, o seu problema não me parece estar no contexto de
OO e sim num contexto de busca, ao que um banco de dados armazenando
essas informações e populando um objeto sob demanda me parece mais
razoável. Depende muito do que o seu programa - e esse trecho
especificamente - se propõe a fazer.

Boa sorte! Qq coisa, grita :-)

[]s

-b


Mais detalhes sobre a lista de discussão Rio-pm