コンテンツにスキップ

ファセット

Show:

注意: バケットファセットルートは非推奨であり、v2コンシューマーAPIの一部ではありません。新しい製品統合で使用しないでください。ファセットフィルタリングには、POST /v2/buckets/\{bucket_id\}/searchを使用し、ユーザーに見えるメタデータ述語をfiltersオブジェクトに渡してください。Schiftはファセットスタイルの集約とフィルタ発見を内部オペレーターの機能として保持しており、新しい消費者向けの公開APIサーフェスではありません。

VersionStatusNotes
v2Current新しい統合にはPOST /v2/buckets/\{bucket_id\}/searchfiltersを使用してください。
v1DeprecatedPOST /v1/buckets/\{bucket_id\}/facetsは既存のクライアントのために保持されており、公開OpenAPIスキーマからは非表示です。

バケットの検索可能なコレクション全体でメタデータのキー/値のカーディナリティを集約します。レスポンスは、各要求されたフィールドの最も一般的な値を示し、フィルタードロップダウンを埋めるか、データセットのカバレッジを確認するために使用できます。

注意: このエンドポイントは公開スキーマから除外されています (include_in_schema=false)。新しいコードは直接呼び出すのではなく、v2バケット検索に移行するべきです。

NameTypeDescription
bucket_idstring集約するバケットのUUIDまたはスラッグ。
HeaderRequiredDescription
AuthorizationYesベアラーAPIキー (Bearer $SCHIFT_API_KEY)。
Content-TypeYesapplication/jsonである必要があります。
FieldTypeRequiredDefaultDescription
fieldsarray of stringYes集約するメタデータキー。最低1、最大20。空のリストは拒否されます。
limit_per_fieldintegerNo20フィールドごとに返す最大の異なる値の数。最低1、最大200。
Terminal window
curl -X POST https://api.schift.io/v1/buckets/product-docs/facets \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $SCHIFT_API_KEY" \
-d '{
"fields": ["tag", "source_url"],
"limit_per_field": 20
}'
FieldTypeDescription
bucket_idstring解決されたバケット識別子。
facetsobject要求されたフィールド名を{value, count}ペアの配列にマップしたもの。
facets[].valuestringフィールドの異なるメタデータ値。
facets[].countintegerその値に一致するチャンクの数。
totalsobjectフィールド名をバケットの検索可能なコレクション全体で見られる値の総数にマップしたもの。
{
"bucket_id": "product-docs",
"facets": {
"tag": [
{"value": "urgent", "count": 142},
{"value": "reviewed", "count": 87}
],
"source_url": [
{"value": "https://docs.example.com/enterprise", "count": 65}
]
},
"totals": {
"tag": 229,
"source_url": 312
}
}
StatusMeaningExample response
403現在のプランではクエリークォータが利用できません。{"detail": "Query quota unavailable. Upgrade your plan."}
403このバケットには検索可能なコレクションが存在しません。{"detail": "No searchable collections for this bucket"}
404指定されたバケットが見つかりませんでした。{"detail": "Bucket not found"}

フィルターを使用したv2検索への移行

Section titled “フィルターを使用したv2検索への移行”

ファセットで値を発見する代わりに、新しい統合ではフィルター値を直接v2検索エンドポイントに送信するべきです:

Terminal window
curl -X POST https://api.schift.io/v2/buckets/product-docs/search \
-H "Authorization: Bearer $SCHIFT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "refund policy",
"filters": {
"status": "published",
"product": "enterprise"
}
}'

完全な述語構文については、eqinlikeprefix、範囲、およびクロスキー$orを含むFilter Operatorsを参照してください。