/ / Número de pesquisa de estilingue AlfrescoNúmero encontrado e número totalRecords diferente - pesquisa, números, ao ar livre, resultado, totais

Alfresco slingshot search numberFound e totalRecords number different - pesquisa, números, alfresco, resultado, totais

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 № 1

Abaixo 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.

https://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/HEAD/root/projects/repository/source/java/org/alfresco/repo/jscript/Search.java

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,
},
}
}