Skip to main content
フィルター済みストリームエンドポイントは、ストリームに適用された一連のルールに一致する投稿を配信します。ルールは、さまざまな投稿属性にマッチするオペレーターで構成されます。 複数のルールは、POST /tweets/search/stream/rules エンドポイントを使用して適用できます。ルールを追加し、GET /tweets/search/stream を使用して接続すると、ルールに一致する投稿のみが配信されます。ルールを追加または削除するために、接続を切断する必要はありません。

ルールの上限

ルール数の上限は、ご利用のアクセスレベルによって異なります。具体的な上限については、フィルタ済みストリームの概要を参照してください。

演算子の種類:単独使用と結合必須

単独演算子 は、それ単体でも、 (結合が必要なものを含めて) 他の任意の演算子と組み合わせても使用できます。 たとえば、このルールが有効なのは、#hashtag が単独演算子だからです。
連結必須オペレーター は、それ単体ではルール内で使用できず、少なくとも 1 つの単体オペレーターと組み合わせてのみ使用できます。これは、これらのオペレーターだけを使用すると、マッチする投稿の件数が極めて多くなってしまうためです。 たとえば、次のルールは連結必須オペレーターのみで構成されているため、サポートされていません
"X data" のような単独の演算子フレーズを追加すると、ルールは正しく機能します。

ブール演算子とグルーピング

複数の演算子は、次の構文を使って組み合わせて利用できます。
否定についての注意
  • sample: 以外のすべての演算子は否定できます
  • 演算子 -is:nullcast は常に否定形として使用する必要があります
  • 否定した演算子を単独では使用できません
  • グループ化した演算子を否定しないでください。skiing -(snow OR day OR noschool) ではなく、skiing -snow -day -noschool を使用してください

演算の順序

AND と OR を組み合わせる場合:
  1. AND ロジックで接続された演算子が先にまとめて評価されます
  2. 次に、OR ロジックで接続された演算子が適用されます
例: あいまいさを避けるには、括弧を使用してください:

句読点、ダイアクリティカルマーク、大文字小文字の区別

ダイアクリティカルマーク: アクセント付きの文字を含むフィルタ済みストリームのルールは、そのアクセントを含む投稿にのみ一致します。たとえば、diacríticadiacrítica には一致しますが、diacritica には一致しません。 大文字小文字の区別: すべてのオペレーターは大文字小文字を区別しません。ルール catcatCATCat に一致します。
検索投稿は挙動が異なります検索クエリを構築する場合、アクセント付きのキーワードは、アクセントの有無にかかわらず投稿に一致します。たとえば、DiacríticaDiacríticaDiacritica の両方に一致します。

引用ツイートのマッチング

filtered stream を使用する場合、演算子は引用ツイートのコンテンツ引用された元のポストのコンテンツの両方にマッチします。
Search Posts は挙動が異なり、引用ツイートのコンテンツのみにマッチし、元のポストのコンテンツにはマッチしません。

具体性と効率

単一のキーワードやハッシュタグのような広すぎるオペレーターの使用は推奨されません。非常に大量の投稿にマッチし、接続をすぐに使い切ってしまいます。
効果的なルールを構築するためのヒント:
  1. 最初は具体的に、あとから広げる — 関連性の高い結果を返す、ターゲットを絞ったルールを作成する
  2. 複数のオペレーターを使用する — オペレーターを組み合わせて結果を絞り込む
  3. 文字数制限に注意する — ルール文字列全体が上限にカウントされる
ルールの段階的な構築例:

ルールを段階的に構築する

ステップ 1: まずは基本的なルールから

ステップ 2: 結果に基づいてテストと絞り込みを行う

さまざまな言語の投稿が含まれていることに気付きました。言語フィルターを追加します:
誕生日のお祝い投稿がヒットしています。これらとリツイートを除外しましょう:

ステップ 3: カバレッジを広げる

より幅広いセンチメントを捉えられるように、関連するキーワードを追加します:
ホリデー関連の投稿が見られるようになっています。これらを除外します:

ルールの追加と削除

POST /2/tweets/search/stream/rules を使用して、ルールを追加または削除できます。

ルールの追加

value (ルール) と、任意の tag (一致する投稿を識別するため) を含む add 用の JSON 本文を送信します。

ルールの削除

削除対象のルールIDを指定して、delete の JSON ボディを送信します。

ルールの例

自然災害の追跡

ハリケーン・ハービーについて気象機関が発信した投稿にマッチさせます:

#nowplaying の感情分析

ポジティブな感情:
否定的な感情:

ポストのアノテーションを使用する

context: 演算子を使って、日本語のペット (猫以外) に関する画像付き投稿を検索します。 まず、Post lookuptweet.fields=context_annotations を指定し、domain と entity の ID を特定します。
  • 猫: domain 66, entity 852262932607926273
  • ペット: domain 65, entity 852262932607926273

次のステップ

演算子リファレンス

利用可能な演算子の一覧

フィルタ済みストリーム クイックスタート

ストリームに接続する

サンプルコード

複数言語でのコード例