考虑总共有 20 个文档的用例,其中 10 个文档是最新的,10 个被取代。每个文档中有两个类别,例如 status1 和 status2。假设 status1="xyz" 和 status2="All"。因此,我创建了方面查询来搜索所有文档,以获取 status1="xyz" 具有 status2="All" 的文档的计数。以下查询我曾经从 solr 获取计数,
json.facet={workspace:{
type:terms,field:workspace,limit:100,facet:{x:"unique(doc_id)"},
facet:{
status1:{type:terms,field:status1,limit:-1,facet:
{x:"unique(doc_id)"},
facet:{
status2:{type:terms,status2,limit:-1,
facet:{x:"unique(doc_id)"}
}
}
}
}
}
}
回复 -
<json_facets>
<json_facet>
<field name="workspace" numBuckets="0"/>
<buckets class="java.util.ArrayList">
<facet val="totalDocuments" count="20">
<json_facet>
<field name="status1" numBuckets="0"/>
<buckets class="java.util.ArrayList">
<facet val="xyz" count="20">
<json_facet>
<field name="status2" numBuckets="0"/>
<buckets class="java.util.ArrayList">
<facet val="All" count="20" x="10"/>
</buckets>
</json_facet>
</facet>
</buckets>
</json_facet>
</facet>
</buckets>
</json_facet>
</json_facets>
响应 xml 应该显示所有计数 10。但它不适用于状态 1 和工作区计数,仅适用于状态 2。此外,尝试对文档进行分组,但没有返回正确的计数。需要有不同的文档计数。
任何帮助将不胜感激。谢谢。