Em primeiro lugar, desculpe pelo meu inglês.
Estou usando Alfresco 5.0.d
Eu vejo no resultado da pesquisa json (com firebugpainel do console) que, além dos itens de resultado, 2 outras propriedades são retornadas: numberFound e totalRecords. Parece que o mecanismo de pesquisa padrão do Alfresco considera numberFound como o total de itens encontrados. Portanto, ele exibe "resultados numberFound encontrados" para o usuário.
O problema é que numberFound não é igual a totalRecords.
Vejo que totalRecords é o número correto do resultado da pesquisa (na verdade, a pesquisa sempre retorna o número "totalRecords" de itens).
Então eu decidi ver no script da web querealiza pesquisa (alfresco-remote-api-5.0.d.jaralfrescotemplateswebscriptsorgalfrescoslingshotsearchsearch.lib.js). Podemos ver facilmente que a propriedade "numberFound" vem desta declaração
var rs = search.queryResultSet(queryDef);
var numberFound = rs.meta.numberFound ;
Sobre a propriedade "totalRecords", vem da mesma declaração, mas um pouco diferente:
var totalRecords = rs.nodes.length
qual é o valor correto do número de itens realmente encontrados.
Então, é um bug da API Alfresco?
Se não, é possível que o erro venha de meus parâmetros de consulta?
Alguém pode me explicar o que significa a propriedade numberFound?
Obrigado.
Respostas:
1 para resposta № 1Abaixo está a URL do arquivo java que é chamado quando você está executando search.queryResultSet(queryDef)
código.
você pode consultar o método abaixo no arquivo java. Ele está adicionando todas as coisas.
public Scriptable queryResultSet() //This is java method which is getting called.
Abaixo está o código que foi escrito para o resultado que você está obtendo.
meta:
{
numberFound: long, // total number found in index, or -1 if not known or not supported by this resultset
facets:
{ // facets are returned for each field as requested in the SearchParameters fieldfacets
field:
{ // each field contains a map of facet to value
facet: value,
},
}
}