Pesquisa Apache Solr - Retornar Nomes que comecem com uma Letra

2 respostas
javaapache
J

Pessoal , estou fazendo uma consulta no solr e queria retornar todos os nomes que comecem com “Z”, não tive sucesso…
Minha query no solr está assim :

nome:Z**

Ja tentei de diversas outras formas (nome:Z**, nome:Z*, nome:Z* -nome " “) porem ainda assim minha consulta volta
"nome”: “Zxptoplalalalalal
"nome”: “Zxptopbbbbbbb”,
“nome”: “Zxptuocccccccc”
“nome”: “L & Z tes test tets”,

Alguma sugestão para ele retornar apenas nomes que comecem com “Z”.

Estou usando a pesquisa pelo JAVA com o metodo:

public static String qIgualSeparateArray2(String coluna, String valor, Boolean temAnd) {
		StringBuilder sb = new StringBuilder();
		if (temAnd) {
			sb.append("AND\n (");
		}
		sb.append(coluna);
		sb.append(":\"");
		sb.append(valor);
		sb.append("\"\n");
		
		valor = modelandoStringSolr(valor);
		if(StringUtils.isNotBlank(valor)){
			sb.append("OR\n");
			sb.append("(");
			valor = modelandoStringSolr(valor);
			String[] array =valor.split(" ");
			for (int i = 0; i < array.length; i++) {
				sb.append(coluna);
				sb.append(":");
				sb.append("*"+(array[i])+"*");
				sb.append("\n");
				if (i < array.length - 1) {
					sb.append("AND\n");
				}
			}
			sb.append(") )");
		}
		
		return sb.toString();
	}

2 Respostas

C

Pela documentação seria coluna:Z*

Mas no seu código você esta colocando o * antes e depois.

M

A classe String tem um método chamado startsWith(prefix)

if(palavra.startsWith("Z"))
{
faz algo
}
Criado 28 de fevereiro de 2018
Ultima resposta 1 de mar. de 2018
Respostas 2
Participantes 3