このページは機械翻訳です。英語版がソースであり、より正確または最新の場合があります。 英語で表示

高度なクエリの構築

finlight.me API を使うと、高度なクエリ構築テクニックによって必要なデータを正確に取得できます。このガイドでは、データ取得プロセスを最適化するための、複雑なフィルタリング、並べ替え、ページネーションの方法を順を追って説明します。

ダッシュボード - API テスターを使って、API にすばやくアクセスし、クエリをテストできます。


言語と多言語カバレッジ

finlight は多くの言語のニュースを索引化しますが、各リクエストは1 つの言語にフィルタリングされます。language パラメータの既定は en なので、設定しなければ英語の記事のみを受信し、他の言語のコンテンツは黙って除外されます。

重要: language の既定は en です。language なしのリクエストは英語のみの結果を返します。他の言語で公開された記事(例:多くの中国語メディア、zh)は、その言語を明示的にリクエストしない限り返されません。

仕組み

  • 記事レベル、完全一致。 language は各記事の ISO 639-1 コードを完全一致でフィルタリングします。language=en は en の記事のみを返し、de や zh などは決して返しません。
  • リクエストごとに 1 言語。 language は単一の値を取ります — 配列やカンマ区切りリストはサポートされておらず、「すべての言語」オプションはありません。複数の言語をカバーするには、言語ごとに 1 リクエストを送り、結果をマージしてください。
  • ソースは多言語の場合があります。 単一のソースが複数の言語で公開することがあります。フィルターはソースではなく記事の言語で選択します。あるメディアの非英語記事は、その言語をリクエストしたときにのみ表示されます。

例

既定(英語のみ)— 等価:

query=Alibaba
query=Alibaba&language=en

中国語のカバレッジ:

query=Alibaba&language=zh

英語 + 中国語をカバー — 2 リクエスト後にマージ:

query=Alibaba&language=en
query=Alibaba&language=zh

ヒント: ISO 639-1 コード(en、de、fr、zh など)を使用してください。finlight の既定のソースセットは多くの言語にまたがります — 英語は既定のフィルターにすぎず、カバレッジの限界ではありません。


クエリフィルタリング

query パラメータは、柔軟なキーワードベースのロジックとフィールドレベルの精度を可能にします。ticker、exchange、isin、source、openfigi などの特定のフィールドを対象にできるようになりました。

基本的なキーワードの使い方

単一キーワード:

query=Nvidia stock

完全フレーズ: フレーズを二重引用符で囲むと完全一致を検索します。

query="Elon Musk"

演算子による包含 / 除外

包含 (+) と除外 (-) の強制:

+ で必須/包含し、- で用語またはフィールド固有の値を除外します。

query=stock +market -google

これは「stock」と「market」を含む記事を返しますが、「google」に言及する記事は除外します。


フィールドレベルのフィルタリング

注: これは、query パラメータ内で直接、特定のフィールドに基づいて結果をフィルタリングできる強力な新機能です。

query パラメータ上でも field:value 構文を使って特定のフィールドを直接クエリできるようになりました。これにより、より精密で複雑なクエリが可能になり、ティッカーシンボル、取引所、ISIN、ソースなどの特定の属性に基づいて結果をフィルタリングできます。

✨ 新機能: source、ticker、exchange フィールドでワイルドカード * を使うと、すべての値に一致します(例:source:*、ticker:*、exchange:*)。

サポートされるフィールド

  • ticker(ワイルドカード * と各種ベンダーのティッカー表記をサポート。下記「ティッカー表記のサポート」を参照)

  • isin

  • title

  • summary

  • content

  • openfigi

  • exchange(ワイルドカード * をサポート)

    • すべての取引所は MIC(市場識別コード)標準です。サポートされるコードは次のとおりです:ASEX、BVCA、BVMF、DSMD、HSTC、XSTC、MISX、NEOE、PFTS、ROCO、XADS、XAMM、XAMS、XASX、XBAH、XBEL、XBEY、XBKK、XBOG、XBOM、XBOT、XBRA、XBRU、XBSE、XBUD、XBUE、XBUL、XCAS、XCNQ、XCOL、XCSE、XCYS、XDAR、XDFM、XDHA、XDUS、XETR、XFKA、XFRA、XGHA、XHAM、XHEL、XHKG、XICE、XIDX、XIST、XJAM、XJSE、XKAR、XKAZ、XKLS、XKOR、XKUW、XLIM、XLIS、XLIT、XLJS、XLUS、XLUX、XMAL、XMAU、XMEX、XMIL、XMSW、XMUN、XNAI、XNAM、XNAS、XNGM、XNGO、XNSA、XNSE、XNYS、XASE、XOSL、XPAR、XPHS、XPRA、XRIS、XSAP、XSAU、XSES、XSCA、XSGO、XSHE、XSHG、XKRX、XSTU、XSWX、XTAE、XTAI、XTAL、XTSE、XTSX、XTUN、XUBS、XUGA、XWAR、XWBO、XZAG、XZIM、XSTO、OTCM、BMEX、XDUB、XJPX、BCXE、XPAE、XLON、XMUS、XNZE、XCAI、XBRV
  • country

    • 記事が扱っている国で絞り込みます。ISO 3166-1 alpha-2 の国コードを使用します(例:US、GB、DE、JP、CN、FR、CA、AU、IN、BR など)。これは記事の countries フィールドに対応するもので、発行元の国、企業の所在国、上場市場ではありません。
  • category

    • 記事カテゴリでフィルタリングします。可能な値:markets、economy、business、politics、geopolitics、regulation、technology、energy、commodities、crypto、health、climate、security
  • source(ワイルドカード * をサポート)

ティッカー表記のサポート

✨ 新機能: 正しいティッカー形式を推測する必要はありません。一般的なベンダー表記は自動的に認識されます。

プラットフォームごとにティッカーの書き方は異なるため、API は最も一般的な表記を最初から理解します:

表記例
プレーンなティッカーシンボルticker:000660、ticker:AAPL
Yahoo Finance / Reuters のドットサフィックスticker:000660.KS、ticker:7203.T、ticker:SAP.DE、ticker:0700.HK
ISO 国コードサフィックスticker:000660.KR、ticker:NVDA.US
Google Finance / TradingView のプレフィックスticker:KRX:000660、ticker:NASDAQ:AAPL、ticker:TYO:7203
米国株のクラス表記バリエーションticker:BRK-B、ticker:BRK/B(ticker:BRK.B と同じ)
小文字での入力ticker:aapl

同じ表記は、構造化された tickers リクエストパラメータでも使えます(例:tickers=["000660.KS", "KRX:005930"])。

知っておくと便利:

  • 取引所付きの表記はティッカーを特定の市場に固定し、シンボルの衝突を解消します。ticker:TM だけでは、任意の取引所でシンボル TM を持つあらゆる企業に一致しますが、ticker:TM.US は米国上場を特定して対象にします。
  • ティッカーと取引所は常に同一の企業を指します。2 つの異なる企業から一致が組み立てられることはありません。
  • ticker:BRK.B、ticker:PBR.A、ticker:REI.UN のような米国株のクラス付きティッカーは入力したとおりに一致します。クラス文字が取引所サフィックスとして扱われることはありません。
  • exchange: の値も柔軟です。exchange:KOSDAQ や exchange:NASDAQ のような一般的な取引所名も、上記に列挙されている MIC コードと同様に使えます。
  • 未知のサフィックスやプレフィックス(例:ticker:FOO.XX)は文字どおりに一致します。
  • Bloomberg のスペース表記(000660 KS Equity)はサポートされていません。上記のいずれかの表記を使用してください。

例:

query=ticker:000660.KR
query=ticker:KRX:000660 AND earnings
query=(ticker:005930.KS OR ticker:000660.KS) -source:finance.yahoo.com
query=ticker:NVDA.US AND category:technology

ワイルドカードのサポート

ワイルドカード * を使うと、クエリにすべてのソース、ティッカー、または取引所を明示的に含められます。これは、広範なカバレッジを確保したい場合や、他のフィルターと組み合わせる場合に特に便利です。

例:

query=source:*

利用可能なすべてのソースの記事を返します。

query=ticker:* country:US

米国企業の任意のティッカーに関する記事を返します。

query=exchange:* -crypto

すべての取引所の記事を返し、暗号資産のコンテンツを除外します。

フィールドフィルターの例

API テスターで試して、仕組みを確認し、独自の複雑なクエリを簡単に作成しましょう。

正確なソースでフィルタリング:

query=source:www.some-source.de

ソースを除外:

query=-source:www.some-source.de

特定のティッカーを必須にして、あるソースを除外:

query=ticker:AAPL -source:www.some-source.de

コンテンツが「earnings」に言及し、取引所が NASDAQ である結果を見つける:

query=content:earnings exchange:nasdaq

特定の国に関する記事でフィルタリング:

query=country:US

ドイツに関するニュースを見つけ、Schulden を除外:

query=country:DE -Schulden

国とティッカーのフィルタリングを組み合わせる:

query=country:US ticker:NVD

フィールドフィルタリングと一般検索を組み合わせる:

query="quarterly report" source:www.some-source.com -crypto

ブール演算子

注:単語は既定で AND で結合されます。OR や NOT と組み合わせたい場合を除き、明示的に AND を使う必要はありません。

AND / OR / NOT ロジックは完全にサポートされています:

query=stock AND google
query=amazon OR google
query=market AND NOT bitcoin

グループ化には括弧を使用: 高度なフィルタリングのために論理式を組み合わせます。

query=("Elon Musk") AND (twitter OR tesla)

ワイルドカードと組み合わせて強力なクエリを:

query=ticker:* AND (country:US OR country:GB) -crypto
query=source:* exchange:XNAS

💡 上級ユーザー向けのヒント

  • フィールドフィルターは、必須値と除外値に + と - をサポートします。
  • ワイルドカード * は source、ticker、exchange フィールドで使用して、すべての値に一致させられます。
  • 高度に的を絞ったクエリのために、複数のフィールドとキーワードを組み合わせることができます。
  • AND、OR、NOT などのブール演算子は大文字・小文字を区別しません。
  • 括弧 () は、複雑なクエリで優先順位の制御に役立ちます。
  • 部分一致を避けるために、複数語のフレーズは二重引用符 " で囲んでください。

まとめ - すべてを組み合わせる

例:信頼できるソースからの、暗号資産以外のテスラ(ticker:TSLA)に関するニュースが欲しい?

query=+ticker:TSLA -crypto AND (+source:www.bloomberg.com OR +source:www.reuters.com)

例:Bloomberg からのテスラ(ticker:TSLA)またはアップル(ticker:AAPL)に関するニュースが欲しい?

query=source:www.bloomberg.com AND ticker:TSLA OR source:www.bloomberg.com AND ticker:APPL

例:米国に関するニュースで、NASDAQ に上場する企業が関わるもの。暗号資産のコンテンツは除外したい?

query=country:US exchange:XNAS -crypto

例:ドイツ、フランス、または英国に関する決算ニュースが欲しい?

query=earnings AND (country:DE OR country:FR OR country:GB)

例:すべてのソースから、暗号資産を除いた、ティッカー関連のすべてのニュースが欲しい?

query=ticker:* source:* -crypto

API テスターで試して、仕組みを確認し、独自の複雑なクエリを簡単に作成しましょう。


Raw WebSocket のクエリフィールド

Raw WebSocket は、その簡素化されたデータモデルに合わせたフィールドレベルフィルターのサブセットをサポートします。エンリッチ WebSocket や REST API と異なり、Raw WebSocket はティッカー、取引所、または企業関連のフィールドフィルターをサポートしません。

サポートされるフィールド

  • source - 記事のソースドメインでフィルタリング
  • title - 記事タイトルの内容でフィルタリング
  • summary - 記事要約の内容でフィルタリング

例

タイトルの内容でフィルタリング:

query=title:Nvidia

タイトルと要約のフィルターを組み合わせる:

query=summary:earnings +title:Tesla

ソースでフィルタリングし、キーワードを除外:

query=source:www.reuters.com -crypto

複数のフィールドフィルターをブール演算子で組み合わせる:

query=title:Apple AND summary:revenue

注: 標準のクエリ演算子(+、-、AND、OR、NOT、括弧、二重引用符)はすべて Raw WebSocket のフィールドフィルターで機能します。


ヘルプが必要ですか?

行き詰まったり、質問があったり、改善の余地に気づいたりした場合は、いつでもお気軽にご連絡ください。皆さまからのご連絡をお待ちしており、finlight.me API でのご成功をサポートいたします。