DifyでNotionプロパティ検索の失敗を切り分ける手順

DifyでNotionプロパティ検索の失敗を切り分ける手順

DifyでNotionのプロパティを「検索できない」と感じるトラブルは、実際には4つのパターンに分かれます。「検索条件にプロパティ値を指定できない」「ツールの実行結果に対象プロパティが含まれない」「同期テキストに属性が取り込まれていない」「ナレッジ検索の結果としてヒットしない」のどれに当たるかを識別することが、迅速な原因究明の第一歩です。

利用経路にはNotionプラグインによるリアルタイム取得(検索、ページ取得、データベースクエリ)と、ナレッジ機能による事前同期の2系統があります。各機能で取得可能と説明されている項目であっても、権限範囲、入力パラメータ、Notion側のデータ型によって応答に含まれる内容は変わるため、生出力を確認して境界を切り分けます。

本稿は2026年10月7日時点で公開されている公式技術資料に基づく確認手順および設計ガイドであり、実機環境での動作検証結果を含むものではありません。

目次

四つの接続経路と取得対象の区別

DifyからNotionのデータを扱う手段は単一ではありません。利用者が「検索している」と捉えていても、呼び出す機能によって取得できるデータ項目は異なります。Notionへのアクセス経路を用途と返却対象に応じて四つに分類して把握します。

経路 主な用途 説明されている取得対象 生出力での確認項目
プラグインの検索 ワークスペース内の横断探索 該当ページのタイトルと基本情報 ページ情報・タイトル
プラグインのページ取得 特定ページの詳細読み出し ページプロパティと本文ブロック ページ情報・プロパティ・本文ブロック
プラグインのデータベース条件検索 構造化された属性による絞り込み フィルタに合致したページ群 抽出レコード・プロパティ一覧
ナレッジ機能の同期 検索用インデックスの事前構築 データベース属性および本文 保存済みテキストチャンク

langgenius/notionプラグインの公式マーケットプレイス仕様では、ページ取得ツールはページプロパティと本文ブロックの双方を含むと説明されています。一方、一般的なNotion APIの仕様や利用環境ごとの差異もあるため、公式に説明された取得範囲と実際に返却された生出力の内容は分けて確認する必要があります。

NotionのSearch APIを利用する経路では、主にタイトルのテキストを対象に探索が行われます。Search APIを利用していることが確認された経路では、任意のプロパティに対する自由検索は行えません。ただし、Difyのすべての検索機能が同一のAPIを用いているとは限らないため、各ツールの仕様を個別に確かめる必要があります。

プロパティ値を厳密に指定してレコードを抽出したい場合は、条件指定による検索(フィルタリング)が必要です。Notion APIのQuery a data sourceではプロパティに対してフィルタ条件を適用して絞り込みます。DifyのNotionプラグイン側では「データベースクエリ」ツールがこの用途に対応しています。利用するツールの入力項目がキーワードによる全文検索なのか、特定のプロパティを対象としたフィルタ条件なのかを区別して選択してください。

ナレッジ同期は実行時のAPI呼び出しとは異なり、事前取り込みを行う仕組みです。DifyのNotion同期機能によるインデックス化と、各ツールの実行時出力は切り離して評価します。事前に取り込んだ文書群を検索して回答に生かすRAGの基本概念を整理したいなら、AI用語集の一文定義と注意点が役立ちます。

権限から出力まで順を追う確認手順

Dify・Notion連携における経路別切り分けフロー
  • 共通前提の確認 Notionインテグレーションの接続権限が付与されているか、指定したIDの形式が正しいかを確認します。
  • プラグインによるリアルタイム取得 ツールの役割と生出力の確認 検索・ページ取得・データベースクエリの適切なツールを選択し、実行結果の未加工ペイロード内に対象プロパティが存在するか確認します。
  • ナレッジ機能による事前同期 同期状態と保存済みチャンクの確認 Notionからの同期(Sync)完了を確認し、保存済みテキストチャンク内に対象プロパティの文字列が存在するか確認します。
  • チャンク内に文字がある場合 ナレッジ検索設定の確認 取り込みは成功しているため、検索クエリや類似度スコア設定がプロパティ表現と整合しているかを確認します。

生出力や保存済みチャンクにプロパティが存在しない場合は、Notion側のアクセス権限やプロパティ型の仕様を確認してください。

プロパティ値が意図通りに扱えないときは、全経路共通の前提を確認した上で、「リアルタイム取得(プラグイン)」と「事前同期(ナレッジ)」の2系統に分岐して確認します。どこかの段階で欠落していれば後続の処理では参照できません。

共通の前提確認(上流)

  • 接続権限の付与:対象データベースや親ページでインテグレーションとの「接続」が追加されているか
  • 対象IDの指定形式:利用するツールの説明に従い、正しい形式でID(database_id、data_source_id、page_id)が渡されているか

経路A:プラグインによる実行時取得の確認

  • ツールの役割選択:タイトル検索、ページ取得、データベースクエリのどれを呼び出しているか
  • 実行時の生出力(ペイロード)確認:ツールが返した未加工の出力データに対象プロパティのキーと値が存在するか
  • 後続ノードへの受け渡し:ワークフローの後続ノードで、出力内のプロパティ変数が正しくバインドされているか

経路B:ナレッジ同期による検索の確認

  • 同期処理の完了状態:ナレッジ一覧で同期(Sync)が完了し、エラーになっていないか
  • 保存済みチャンクの文字列確認:分割・保存されたテキストチャンク(文書の分割単位)に対象プロパティの値が文字列として含まれているか
  • 検索設定とヒットの確認:類似度検索の閾値や検索キーワード(クエリ)と、チャンク内の表現が一致しているか

どの工程でデータが止まっているかを客観的に特定したいときは、AI活用診断で現在のシステム設計を整理してみることも手動確認の補助になります。

識別文字を用いた到達範囲の確認

データの欠落箇所を厳密に判定するために、検証用の専用ページを作成して追跡する設計を用います。タイトルには「TITLETEST901」、本文ブロックには「BODYTEST901」、プロパティには「PROPTEST901」という固有の文字列を配置します。

検証を行う際は、「識別文字が検索条件に合致してヒットするか」と「返却されたデータ(または保存済みテキスト)の中に識別文字が存在するか」を明確に分離して判定します。ナレッジ同期の場合は、保存済みチャンク内に文字があるか(取り込み成否)と、ナレッジ検索で上位に返却されるか(検索ヒット成否)を分けて記録します。

経路 入力・検索条件での確認項目 返却・保存データでの文字存在確認 検証状態
プラグインの検索 タイトル識別子(TITLETEST901)でのヒット有無 返却ペイロード内のページタイトル情報 未確認
プラグインのページ取得 (該当ページIDを指定して呼び出し) 返却されたプロパティ値・本文ブロックの文字列 未確認
データベースクエリ(条件検索) プロパティ値(PROPTEST901)のフィルタ合致判定 抽出されたレコードのプロパティ値 未確認
ナレッジ同期 ナレッジ検索での各識別子のヒット有無 保存済みチャンクテキスト内の識別文字列 未確認

この検証設計により、各経路の到達範囲を個別に切り分けることができます。ナレッジ検索でヒットしなかった場合でも、保存済みチャンクに対象文字列があれば取り込み自体は行われていると判断できます。その場合は、次の確認候補として検索方式や類似度スコアの設定などを調べます。

Notion連携に加えてExcelもDifyへ取り込む構成で件数の不一致を調べる場合は、プロパティ同期とは入力経路が分かれます。まずはファイル抽出かナレッジ検索かという入力経路を確認し、ナレッジ検索を含む実際の構成に存在する工程で行IDを照合するDifyでExcelの件数が合わないときの確認手順に沿って点検してください。

プロパティ取り込みと同期状態の確認

Difyのナレッジ同期機能では、データベースページの属性値を取り込んでテキストとして保存する機能が提供されています。ただし、すべてのプロパティ型が網羅されているとは限らず、リレーション等の対応範囲は未確認です。取り込める形式のデータが揃っているかは、AI導入はどこから始める?最初の1業務の選び方が挙げる4条件の「AIに渡せる素材がある」に直結します。

公式ドキュメント(Chunking and Cleaning Text)では、プレビュー表示が一部のチャンクに限定されると説明されています。プレビュー画面に対象値がないことのみをもって取り込み欠落と断定せず、保存済みの対象チャンクを確認して判定する必要があります。

Notion側で属性や本文を更新した場合、Difyナレッジへ即時に自動反映されるとは断定できません。更新内容を確実に反映させたい場合は、ナレッジ一覧画面から該当ドキュメントの「Sync」ボタンを手動で実行し、同期完了状態と保存済みチャンクの内容を確認してください。なお、同期実行時は埋め込みベクトル(Embedding)の再計算が行われるため、モデルのトークンを消費します。

また、NotionのAPI仕様(Query a data source等)においては、データベースIDとdata_source_id(データソースID)が区別されるケースがあります。Difyのプラグイン等を利用する際も実装が同一とは限らないため、ツールの入力パラメータ説明で求められている識別子がデータベースIDなのかデータソースIDなのかを確認し、両IDの互換を前提とせずに指定してください。

連携の構成やインデックス化の設計が意図通りに機能しているか不安がある場合は、AI活用診断を活用してアーキテクチャの現状を確認することも有効な選択肢です。

よくある質問

プロパティは必ず本文へコピーする必要がありますか?

DifyのNotion同期ではデータベースページの属性値も統合されてテキスト化されるため、対象の属性が保存済みチャンクに含まれている場合は本文への複製は不要です。ただし、一部の特殊なプロパティ型などで保存済みチャンクに含まれないことが確認された場合に、回避策として本文ブロックへの転記を検討してください。

検索ツールで本文の文字が見つからないのはなぜですか?

Notion Search APIを利用する検索経路では主にタイトルが探索対象となる仕様のためです。利用中のツールが該当APIを使用しているか確認してください。

Notionの変更はすぐナレッジに反映されますか?

即時反映は断定できません。本稿では更新・確認の手順として、ナレッジ画面から手動Syncを実行し、完了状態と保存済みチャンクの内容を確認する方法を案内しています。

database IDとdata source IDは同じですか?

Notion APIの仕様において両者は区別される場合があります(Wiki構成でデータソースが子要素となる場合など)。利用しているプラグインやツールの説明欄でどちらのパラメータが要求されているかを確認し、適切な識別子を指定してください。

参照資料

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次
閉じる