Olá pessoal,
Estou tentando implementar filtros de buscas, passando palavras ou frase. Implementei 4 filtros ( Aproximação, Deve conter a frase, Deve conter alguns dos termos, e DEVE CONTER TODOS OS TERMOS. A dúvida está nesse último filtro, significa que se eu não sei o sobrenome de alguém, mas sei que o nome dele é Bruno e que furtou uma bicicleta, eu digito BRUNO BICICLETA, o sistema me devolve todo registro que essas duas palavras estão independente da ordem que foi digitada.Por exemplo, no filtro “Deve conter a frase” o sistema retorna exatamente a mesma ordem da frase. No filtro deve conter todos os termos eu preciso que me retorne todos os termos que pesquisei na ordem ou fora da ordem. Alguém poderia me ajudar?
public Query phrase(String sentence, String field) {
return phrase(sentence, field, 0);
}
public Query phrase(String sentence, String field, int slop) {
if (isEmpty(sentence)) {
return null;
}
return queryBuilder.phrase()
.withSlop(slop)
.onField(field)
.sentence(sentence)
.createQuery();
}