webfuture 0 Denunciar post Postado Maio 29, 2007 Galera, preciso efetuar uma busca da seguinte maneira, digamos que o usuário busque por "Programadores no Fórum", gostaria que o sistema se comportasse da seguinte maneira, ele buscasse por: "Programadores no Fórum", quebrasse a palavra "Programadores no Fórum" retirando "Programadores" e "Fórum" e também buscasse pelas duas palavras no campo determinado, ou seja, de uma forma ou de outra ele encontra a informação, talvez precisa e não exatamente o que ele digitou. tenho abaixo o código de exemplo que quebra a palavra: varbusca = Request("search")arr= split(varbusca,"no")for x = 0 to ubound(arr)if x =0 thenvarsql = " (campo1) like '%" & (arr(x)) & "%' or (campo2) like '%" & (arr(x)) & "%' "elsevarsql = varsql & "or (campo1) like '%" & (arr(x)) & "%' or (campo2) like '%" & (arr(x)) & "%' "end ifnextsql = "SELECT campos FROM tabela WHERE ("& varsql &") " Este é um exemplo, que funciona somente com a palavra "no", se isto for viável (gostaria de opiniões tb..eheh) penso em fazer isto para palavras como: "de, em, para, com, etc", minha dúvida é, como fazer esta busca funcionar ou seja, mesclar estas buscas em uma só para que ele não fique muito lento? Vocês acham que isto é viável ? Pelo menos acho que quem busca algo tem mais chances de encontrar o que procura, pois as vezes um registro que tenha em algum lugar do texto "Programadores no Fórum" e um que tenha "Programadores" e "fórum" no texto, talvez contenha o que usuário procura. O que vocês acham? Xavier Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Maio 29, 2007 Bom... idéia...Vou citar funções em php, daí você veja as similares em tua linguagem.Quebra a palavra/Joga cada uma delas num array (funcao explode),usando como separador os espações em branco, daí neste caso você vai ter "Programador","do" e "fórum" como palavras. Pode criar uma lógica para varrer este array e apagar os itens iguais "do","da","de","a","e", etc.Feito isto você terá "Programador" e "fórum". Daí sim faz um loop para ler este array final e montar as linhas com os like '%%'.Acho que por aí é um caminho... talvez nao seja o melhor, mas... está aí. Compartilhar este post Link para o post Compartilhar em outros sites