検索語と条件の組み立て方
自然文を短い検索語と明示的な条件へ分け、決定的な Company Search を実行する手順です。
このページの内容5項目
Signal Foundry の Company Search は、受け取った query と structured filter をそのまま実行します。 エージェントまたは呼び出し側のバックエンドが、依頼文を短い検索語と明示的な条件に分けてから送信します。
まず実行する
会社名、証券コード、法人番号、domain、または 2〜5 語の短い検索語を渡します。
sf search "トヨタ" --json sf search "AI求人" --prefecture 東京都 --industry-33-code 5250 --ai-jobs true --json
所在地、業種、上場区分、従業員数などの条件は option で明示してください。 売上、利益、BS / CF、利益率などの財務条件は company_query.v1 にして sf query を使います。 MBO、TOB、上場廃止、合併は sf event search を使います。Company Search が他の検索へ自動で切り替わることはありません。
解決順
Search は次の順で候補を返します。
company_id、証券コード、法人番号、domain の完全一致を確認する- 正規化した会社名の完全一致を確認する
- 会社名の prefix / contains と短い keyword を確認する
- 指定された structured filter をそのまま適用する
- deterministic ranking で候補を並べる
NFKC、英字の大小、法人格を除いた会社名 key などの表記差は検索基盤が吸収します。 呼び出し側が送信していない所在地、業種、上場区分、semantic tag は追加されません。
planner_mode の compatibility
planner_mode: "auto" と "llm" は既存 caller を壊さないため受理します。 どちらも deterministic で実行し、次の warning を返します。
{
"planner": {
"mode": "deterministic"
},
"planner_runs": [],
"warnings": [
{
"code": "planner_mode_deprecated",
"requested_mode": "llm"
}
]
}
新しい caller は planner_mode を省略するか、"deterministic" を指定してください。
見る key
companies[].company.company_idcompanies[].query_matchmeta.returned_companiesmeta.matched_companiesmeta.has_morewarnings[]gaps[]
候補を選んだら、sf company <company_id> --json で Company Card を読みます。
0件と失敗を分ける
0件は会社が存在しない証明ではありません。 gaps[].code を確認します。
| code | 意味 | 次の行動 |
|---|---|---|
query_not_interpreted | 候補を走査する前に0件だった | 社名、証券コード、法人番号、domain、短い語へ分ける |
no_rows | 実行した条件に一致する行がなかった | filter を1つずつ緩める |
search_temporarily_unavailable | 検索backendが利用できなかった | 同じ条件で時間を置いて再試行する |
人物名、役員名、個人連絡先、競合・類似会社など、source-backedに検証できない依頼は fail-closed で止まります。 unsupported を silent 0件として扱わないでください。