fromoffice365.sharepoint.client_contextimportClientContextfromtests.settingsimportcert_path,cert_thumbprint,client_id,site_url,tenantctx=ClientContext(site_url).with_client_certificate(tenant,client_id=client_id,thumbprint=cert_thumbprint,cert_path=cert_path)# Step 1 — query with refiners to get category countsresult=ctx.search.query(query_text="IsDocument:1",refiners=["Author","ContentType","FileExtension"],row_limit=10,).execute_query()print("=== Refiners ===")refiners=result.value.PrimaryQueryResult.RefinementResults.Refinersforrefinerinrefiners:print(f" {refiner.Name}:")forentryinrefiner.Entries:print(f" {entry.RefinementName} ({entry.RefinementCount}) — token: {entry.RefinementToken}")# Step 2 — drill down with a refinement filterifrefinersandrefiners[0].Entries:token=refiners[0].Entries[0].RefinementTokenresult=ctx.search.query(query_text="IsDocument:1",refinement_filters=[token],row_limit=10,).execute_query()print(f"\n=== Filtered by {refiners[0].Entries[0].RefinementName} ===")results=result.value.PrimaryQueryResult.RelevantResultsforrowinresults.Table.Rows:print(row.Cells["Path"])