高度なクエリの構築
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
- すべての取引所は MIC(市場識別コード)標準です。サポートされるコードは次のとおりです:
-
country- ISO 3166-1 alpha-2 国コードを使って企業の国でフィルタリングします(例:
US、GB、DE、JP、CN、FR、CA、AU、IN、BRなど)
- ISO 3166-1 alpha-2 国コードを使って企業の国でフィルタリングします(例:
-
category- 記事カテゴリでフィルタリングします。可能な値:
markets、economy、business、politics、geopolitics、regulation、technology、energy、commodities、crypto、health、climate、security
- 記事カテゴリでフィルタリングします。可能な値:
-
source(ワイルドカード*をサポート)
ワイルドカードのサポート
ワイルドカード * を使うと、クエリにすべてのソース、ティッカー、または取引所を明示的に含められます。これは、広範なカバレッジを確保したい場合や、他のフィルターと組み合わせる場合に特に便利です。
例:
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 でのご成功をサポートいたします。