Busca Caseinsensitive com findAll
09/01/2013 16:28
0
Olá pessoal, tenho uma função que faz busca na classe Documento, mas preciso melhorar duas coisas. A primeira é que gostaria de fazer busca tipo case insensitive ou seja tanto maiusculas quanto minusculas, outra coisa é que gostaria de poder buscar por qualquer campo. Sou novato em grails alguém poderia me ajudar?

Meu código está assim

def buscaDoc = {

documentos: Documento.findAllByTextoLike("%"+params.q+"%")
}
Tags: case insensitive


0
Veja aqui mais detalhes


results = Book.findAllByTitle[color=red]Ilike[/color]("%Hobbit%") // ignore case


09/01/2013 16:44


0
"Ops"... não formatou a cor

Não vai ser "Like".. e sim "ILike"

results = Book.findAllByTitleIlike("%Hobbit%") // ignore case


Flw
09/01/2013 16:45


0
Valeu Rafael é isso mesmo... Mas ainda estou resolvendo a questão de buscar por qualquer campo.
09/01/2013 16:53


0
Já pensou em usar o plugin Searchable?

Resolveu meus problemas e me poupou um tempo enorme... dá uma lida que talvez seja bem útil pra vc também

Link para página do plugin no Grails.org

Além do mais é bem documentado e de fácil uso... também sou novato rss

Boa sorte
09/01/2013 16:58


0
Ouuuu

Você poderia trabalhar com "Criterias", passando o nome do campo e o que deseja procurar dinamicamente



def d = Documento.createCriteria()
def results = d.list {
Ilike("nomeDoCampoDoDocumento", "%String que está buscando%")
}



daí vc pode carregar o nomeDoCampoDoDocumento através de uma variavel associada a uma list.

09/01/2013 17:06


0
você conseguiu fazer funcionar a opção de suggest Words do plugin searchable?
09/01/2013 17:07


0
Acho que nem cheguei a tentar...essa suggested query só funcionava no inglês se não me engano... mas para minha necessidade nem precisava disso...

Vi num tópico recente alguém sugerindo implementar o Lucene (acho que é o coração desse plugin) na unha para conseguir ir além do arroz e feijão.

Não parecia ser algo de outro mundo
09/01/2013 17:14


0
Sugeriram para mim isso eu consegui, mas estou fazendo uma mescla. Quando o findAll não consegue ai o lucene entra em ação.
09/01/2013 17:19



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto