0

考虑总共有 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。此外,尝试对文档进行分组,但没有返回正确的计数。需要有不同的文档计数。

任何帮助将不胜感激。谢谢。

4

0 回答 0