Alfresco弹弓搜索编号发现的总数与totalRecords编号不同

问题描述 投票:0回答:1

我正在使用Alfresco 5.0.d

我在搜索json结果(带有Firebug控制台面板)中看到,除了结果项外,还返回了两个其他属性:numberFoundtotalRecords。似乎Alfresco搜索引擎将numberFound视为找到的总商品。因此它向用户显示“已创建numberFound结果”。

问题是numberFound不等于totalRecords

[我看到totalRecords是正确的搜索结果数(实际上,搜索总是返回totalRecords个项目数)。

所以我决定在执行搜索(alfresco-remote-api-5.0.d.jar\alfresco\templates\webscripts\org\alfresco\slingshot\search\search.lib.js)的网页脚本中看到。我们可以轻松地看到numberFound属性来自此语句

var rs = search.queryResultSet(queryDef);
var numberFound  = rs.meta.numberFound ;

关于totalRecords属性,它来自相同的语句,但有一点不同:

var totalRecords = rs.nodes.length

这是真正找到的项目数的正确值。

那么这是Alfresco的API错误吗?如果不是,那么错误是否可能来自我的查询参数?有人可以解释一下numberFound属性是什么意思吗?

谢谢。

search numbers alfresco totals
1个回答
1
投票

下面是执行search.queryResultSet(queryDef)代码时被调用的Java文件的URL。

您可以在java文件中引用以下方法。它正在添加所有内容。

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.

下面是为获得结果而编写的代码。

 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,
        },
     }
    }
© www.soinside.com 2019 - 2024. All rights reserved.