Register and share your invite link to earn from video plays and referrals.

cv usk
@cv_usk
AI / Software Research Notes AI Agent, LLMOps, MLOps, Software Architecture 投稿は個人の意見です。
Joined May 2026
258 Following    220 Followers
# Weaviateの機能と実践的な使い方 🚀 全件をベクトル込みで吸い出したい――移行や監査エクスポートで深いページングに苦しんでいませんか? Weaviateのカーソル(Cursor)APIなら、offset制限なしに全オブジェクトを順に取り出せます。 📌 タイトルと機能のURL タイトル: Read all objects URL: 📝 概要 Weaviateの iterator() メソッドは、従来のoffsetベースのページングが抱える性能劣化を避けて、コレクション全体を効率よく走査します。内部的には after オペレータを使うカーソル方式で、深いページングの問題を回避します。全件処理には必ずこのカーソルを使うのが鉄則です。 🔧 機能の説明 ・limit/offset の深いページングは、スキップ件数が増えるほど指数的に遅くなります。これが大規模データで致命的になります。 ・カーソルは after パラメータを使い、前回の続きから取得していくため、この劣化を回避します。 ・Pythonクライアントでは Iterator としてラップされ、for ループで自然に全件を回せます。 ・既定では全プロパティとUUIDを返し、blobやリファレンスのプロパティは含みません。 ・結果の順序は保証されません。系統的な全件アクセス向けの仕組みである点に注意してください。 🛠 実践的な使い方 ・基本形: collection = client.collections.use("WineReview") のあと for item in collection.iterator(): で全件を回し、item.uuid と を取り出します。 ・ベクトルも含めたい場合: for item in collection.iterator(include_vector=True): とし、item.vector でベクトルを取得します。 ・名前付きベクトルは include_vector=['title', 'body'] のように指定するか、True で全ベクトルを取得します。 ・マルチテナントのコレクションは、テナントごとに with_tenant(tenant_name).iterator() を回します。tenants.get() でテナント一覧を取得できます。 🎯 ユースケース ・別クラスタへの移行で、ベクトルとプロパティをまとめて吸い出して書き戻す。 ・監査・コンプライアンス用に、コレクション全件をエクスポートする。 ・再インデックスやバッチ処理で、全オブジェクトに順次アクセスする。 ・マルチテナント環境で、テナント単位に全件を走査して棚卸しする。 ⚠️ 注意点 ・結果の順序は保証されません。順序に依存する処理を組まないでください。 ・カーソルは系統的な全件アクセス向けで、ランダムなクエリ用途には向きません。 ・include_vector=True はベクトル分のデータ転送が増えるため、必要なときだけ有効化してください。 ・マルチテナントでは全テナントを一括で回せないため、テナントごとに iterator を実行する必要があります。 #Weaviate# #VectorDatabase#
Show more