エンタープライズ向けルールとクエリの概要
OR を使って指定します。
各ルールは最大 2,048 文字まで指定でき、ポジティブ句 (マッチさせたい条件やフィルタ対象) およびネガティブ句 (除外してマッチさせたくない条件) の数に制限はありません。
ルールとクエリの構築
social
空白による AND (ANDing terms with white space)
キーワードをもう 1 つ追加するということは、マッチを見つけるための条件を 1 つ追加するのと同じです。たとえば、次のルールは、テキスト内に “social” と “media” の両方が存在するアクティビティにのみマッチします (順序は不問) ——語と語の間にスペースを入れることは、ブール AND ロジックとして動作します。ルール内に明示的な AND を含めると、そのルールは rules エンドポイントによって拒否されます。
social media
大文字の OR による OR (ORing terms with upper-case OR)
多くのケースでは、ブール OR ロジックが必要になりますが、これも簡単に実現できます。OR 演算子は必ず大文字でなければならず、小文字の ‘or’ は通常のキーワードとして扱われる 点に注意してください。
social OR data
語の否定 (Negating terms)
特定のキーワードを含む結果を除外したい (ブール NOT ロジック) ケースもあります。たとえば、「happy」を含むが、テキスト内に「birthday」を含むものは除外したい場合などです。
social -personality
かっこによるグルーピング (Grouping with parentheses)
これらのロジックは、かっこを使ったグルーピングで組み合わせることができ、さらに複雑なクエリへと拡張できます。
(social OR data) (academic OR research) -personality -information -university
とはいえ、これはほんの導入に過ぎません。上記の例はキーワードのトークン化されたマッチングだけに依存していますが、エンタープライズ製品ではテキストに対して異なる種類のマッチングを行うためのオペレーターも提供しています。
完全一致 (Exact match)
"social media research"
部分一致 (Substring match)
contains:info
近接マッチ (Proximity match)
"social media research"~3
さらに、他のオペレーターを使うことで、テキスト以外にも、ソーシャルデータの固有の側面に基づいてフィルタできます。
ポストを行っているユーザー
from:XDeveloeprs
アメリカ合衆国コロラド州ボルダーの Pearl St. から 10 マイル以内の位置情報付きツイート
point_radius:[-105.27346517 40.01924738 10.0mi]
すべてを組み合わせる
これらは、上で説明したのと同じ種類のロジックを使ってテキストフィルターと組み合わせることができます。
(social OR data) (academic OR research OR "social media research") point_radius:[-105.27346517 40.01924738 10.0mi] lang:en -personality -information -university
ブール構文
| ロジックの種類 | 演算子の構文 | 説明 |
| AND | social data | 2 つの演算子の間に空白を入れると、その間に AND ロジックが適用されます。 両方のキーワード (“social” と “data”) を含むアクティビティにマッチします。 ルール内で AND を明示的に使用しないでください。空白のみを使用してください。AND を明示的に記述すると、通常のキーワードとして扱われます。 |
| OR | social OR data | 2 つの演算子を OR で結合するには、その間に空白で囲んだ全大文字の OR を挿入します。 どちらか一方のキーワード (“social” または “data”) を含むアクティビティにマッチします。 1 つのルールの中で OR と AND の機能を組み合わせる場合は、「演算の順序」セクションで説明している演算順序を理解し、ルールが想定どおりに動作するように、下記の説明のとおり括弧を使って否定されていない演算子同士をグルーピングすることを検討してください。 ルール内では必ず大文字の “OR” を使用する必要があります。小文字の ‘or’ は通常のキーワードとして扱われます。 |
| NOT | social data -apple -android -phone | 演算子または演算子のグループの直前に - 文字を挿入します。 上記のルール例は、キーワード “social” を含むアクティビティにマッチしますが、キーワード “data” を含むものは除外します。 否定された OR は、「firehose 内のすべて (ただし否定条件を除く) 」を要求するようなルールでは使用できません。たとえば、 apple OR -ipad は、「“ipad” に言及しているもの以外のすべてのアクティビティ」にマッチしてしまうため無効です。 |
| グルーピング | (social OR data) -XDeveloeprs -api | 複数の演算子を括弧で囲むと、機能的な「グループ」が作成されます。 グループは、個々の句と同様に、空白 (AND) や OR を介して句と接続できます。ただし一般的な推奨事項として、否定をグループ全体に適用してまとめて否定することは避けるべきです。その代わりに、各演算子を個別に否定し、それらを空白 (AND) で連結してください。 たとえば、-(iphone OR imac OR macbook) を使用する代わりに、次のようにします: -iphone -imac -macbook 1 つのルールが AND と OR の機能を組み合わせる場合、そのルールの評価に使用される演算順序のため、グルーピングは特に重要になります。詳細は以下を参照してください。 |
has:hashtags 演算子は「ハッシュタグを含むアクティビティが欲しい」という意味になります。
否定演算子 は、結果から 除外したい ものを定義し、上述したブール NOT ロジックを使用して作成します。たとえば、-has:hashtags は「ルールの他の条件にマッチしていても、ハッシュタグを含むアクティビティは除外する」という意味になります。
Premum operator 製品では、正の句と負の句の数に制限はなく、最大長 2,048 文字という制約のみがあります。
演算の順序
- AND ロジックで接続された演算子が最初に結合されます
- 次に、OR ロジックで接続された演算子が適用されます
apple OR iphone ipadはapple OR (iphone ipad)と評価されますipad iphone OR androidは(iphone ipad) OR androidと評価されます
(apple OR iphone) ipadiphone (ipad OR android)
句読点、ダイアクリティカルマーク、大小文字の区別
Diacr**í**tica またはハッシュタグ #cumplea**ñ**os のルールは “Diacrítica” や “#cumpleaños” にはマッチしますが、チルダ付きの í や文字 eñe (ñ) を含まない “Diacritica” や “#cumpleanos” にはマッチしません。
アクセントやダイアクリティカルマークを持つ文字は通常の文字と同様に扱われ、単語境界としては扱われません。たとえば、cumpleaños というルールは、単語 cumpleaños を含むアクティビティにのみマッチし、cumplea、cumplean、os を含むアクティビティにはマッチしません。
すべてのオペレーターは大文字と小文字を区別せずに評価されます。たとえば、ルール Cat は次のすべてにマッチします: “cat”、“CAT”、“Cat”。
「Matching rules」ページで説明しているとおり、各ルールにはタグを付けて作成できます。これらのタグはフィルタリング自体には影響しませんが、App 内でルールを論理的なグループにまとめるために使用できます。各ルールに設定できるタグは 1 つのみで、最大 255 文字までです。タグは、「Matching rules」ページで説明しているとおり、API を介してルールを作成する際に、JSON 形式のルールに含めます。
ルールをJSON形式にする
{"value":"insert_rule_here"}
二重引用符を含むルール
ルールが、完全一致やその他の演算子に関連する二重引用符文字 (“) を含む場合、それらはJSON形式の構造と区別するために、バックスラッシュでエスケープしなければなりません。
"social data" @XDevelopers
JSON形式にしたルールは次のようになります。
{"value":"\"social data\" @XDevelopers"}
二重引用符の文字列リテラルを含むルール
完全一致の中で二重引用符文字を文字列リテラルとして含めるには、二重にエスケープする必要があります。たとえば、“R” を囲む二重引用符も含めて、正確なフレーズ “Toys “R” Us” にマッチするルールの場合、プレーンテキストでの表現は次のようになります。
"Toys \"R\" Us"
これをJSON形式に変換する場合、次の構造を使用します。
{"value":"\"Toys \\\"R\\\" Us\""}
タグ付きのルール
前述のとおり、ルールに任意のタグを付与するには、ルールの値と一緒に追加の tag フィールドを含めるだけです。
{"value":"\"social data\" @XDevelopers","tag":"RULE-TAG-01"}
APIリクエストでのフォーマット
API経由でストリームにルールを追加または削除する場合、複数のJSON形式のルールはカンマ区切りにし、以下のようにJSONの “rules” 配列でラップする必要があります。
{"rules":[{"value":"from:XDevelopers"},{"value":"\social data\" @XDevelopers","tag":"RULE-TAG-01"}]}
引用ツイートに一致するオペレーター
KeywordsPhrasesProximity#hashtags@mentions$cashtagsurl:url_contains:has:linkshas:mentionshas:hashtagshas:mediahas:symbolsis:quoteis:reply
Enterprise operators
| オペレーター | 説明 |
|---|---|
| キーワード | ポストの本文テキストまたはURL内のキーワードに一致します。キーワードは、数字 (0〜9) または任意の句読点以外の文字で始まる必要があります。 キーワードのマッチングはトークン化されており、ポスト本文のトークン化されたテキストに対してキーワードが照合されます。 句読点を含む文字列 (例: “coca-cola”) には、引用符付きの “exact phrase match” を使用します。 例: (social OR pizza OR wildfire) -planet |
| 絵文字 | ポスト本文内に含まれる絵文字に一致します。句読点、記号/絵文字、区切り文字に基づいてトークン化されたマッチングを行います。 絵文字にバリアントがある場合は、完全一致させるために引用符で囲んでください。 例: (🍕 OR 💜 OR 🐢) -🤖 |
| 「完全一致フレーズ検索」 | ポスト本文内のフレーズに完全一致します。句読点は空白として扱われます。 例: ("social media" OR "developer.x.com" OR "wildfire911" OR "coca-cola") -"planet earth" |
| # | 指定されたハッシュタグを含む投稿にマッチします。これは完全一致であり、#2016 は #2016 を含む投稿にはマッチしますが、#2016election にはマッチしません。例: (#social OR #pizza OR #2016election) -#planet |
| @ | 指定したユーザー名への言及を含むポストにマッチします。 例: (@XDevelopers OR @api OR @twittereng) -@jack |
| ”keyword1 keyword2”~N | キーワード同士が互いに N 個以内のトークン数の距離にあるポストにマッチする近接演算子です。 キーワードが逆順で出現する場合、その間隔は N-2 個を超えることはできません。N は 6 を超える値にはできません。 例: "social media"~5 OR "API"~3 |
| contains: | トークン化に関わらず、本文内に指定した部分文字列を含む投稿を部分一致で検索します。 空白文字や句読点を含む部分文字列には二重引用符を使用します。 例: (contains:social OR contains:"wikipedia.com") -contains:"buy now" |
| from: | X の数値アカウント ID またはユーザー名 (@ を除く) で特定された特定ユーザーからの任意のポストに一致します。例: (from:2244994945 OR from:api OR from:twittereng) -from:jack |
| to: | X の数値アカウント ID またはユーザー名 (@ を除く) を指定して、特定のユーザー宛ての返信ポストすべてに一致します。例: (to:2244994945 OR to:api OR to:twittereng) -to:jack |
| url: | ポストの展開済みURLに対して、トークン化された (キーワード/フレーズ) 一致検索を行います。 例: @XDevelopers url:"developer.x.com" |
| url_title: | 展開された URL の HTML の title メタデータにキーワード/フレーズのマッチングを行います。 PowerTrack および Historical PowerTrack でのみ利用可能です。 |
| url_description: | 展開されたページの description メタデータに対して、キーワード/フレーズ一致を実行します。 PowerTrack および Historical PowerTrack でのみ利用可能です。 |
| url_contains: | 指定した語句またはキーワードを含むURLを持つ投稿にマッチします。 句読点を含む検索語句は引用符で囲んでください。 例: (url_contains:"developer.x.com" OR url_contains:wildfire) -url_contains:reddit |
| bio: | ポストのユーザー自己紹介文内のキーワードまたはフレーズにマッチします。これは、User object 内の’description’フィールドに対するトークン化されたマッチです。 例: (bio:engineer OR bio:"wordpress.com" OR bio:🚀) -bio:troll注: PowerTrack および Historical PowerTrack でのみ利用可能です。 |
| bio_name: | ポストのユーザーのプロフィール名に含まれるキーワードに一致します。これは、User object 内のユーザーの「name」フィールドに対するトークン化された一致です。 注意: PowerTrack および Historical PowerTrack でのみ利用できます。 |
| bio_location: | User object の location (位置情報) に指定したキーワードまたはフレーズが含まれる投稿にマッチします。 このオペレーターは、メッセージ本文に対する通常のキーワードルールと同様のトークン化マッチを行います。 この location は User object の一部であり、アカウントの「ホーム」ロケーションを表します。 注記: PowerTrack および Historical PowerTrack でのみ利用可能です。 |
| statuses_count: | 著者のステータス総数が指定した範囲内にある投稿にマッチします。 単一の数値を指定した場合、その数値以上であればすべてマッチします。 範囲を指定して、その範囲内の任意の数値にマッチさせることもできます (例: statuses_count:1000..10000) 。例: to:api statuses_count:10注: PowerTrack および Historical PowerTrack でのみ利用可能です。 |
| followers_count: | 著者のフォロワー数が指定された範囲内にある投稿と一致します。 単一の数値を指定した場合、その数値以上のフォロワー数を持つものがすべて一致します。 範囲を指定して、その範囲内のフォロワー数を持つ投稿に一致させることもできます (例: followers_count:1000..10000) 。注: PowerTrack と Historical PowerTrack でのみ利用可能です。 |
| friends_count: | 著者の friends カウント (フォローしているユーザー数) が指定された範囲内にある投稿にマッチします。 単一の数値を指定した場合、その値以上であればマッチします。 範囲を指定して、その範囲内の任意の数値にマッチさせることができます (例: friends_count:1000..10000) 。注: PowerTrack および Historical PowerTrack でのみ利用可能です。 |
| listed_count: | 著者が X 上のリストに追加された回数が、指定された範囲内にある投稿に一致します。 単一の数値を指定した場合、その数値以上であればすべて一致します。 範囲を指定して、その範囲内の任意の数値に一致させることもできます (例: listed_count:10..100) 。注: PowerTrack および Historical PowerTrack でのみ利用可能です。 |
| $ | 指定された「cashtag」エンティティを含むポストにマッチします。 例: ($TWTR OR $TSLA OR $BRK.A) -$F注: cashtag 演算子は、本文から直接抽出するのではなく、cashtag を照合するために X の「symbols」エンティティ抽出機能に依存します。 |
| retweets_of: | 指定したユーザーのリツイートである投稿にマッチします。 ユーザー名と数値のXアカウントIDの両方を受け付けます (ポストのステータスIDではありません) 。 例: (retweets_of:2244994945 OR retweets_of:api OR retweets_of:twittereng) -retweets_of:jack |
| retweets_of_status_id: | 指定したポストに対する明示的なリツイートのみを配信します。リツイートではなく、必ず元のポストのIDを使用してください。 例: retweets_of_status_id:1293593516040269825注: PowerTrack および Historical PowerTrack でのみ利用可能です。 |
| in_reply_to_status_id: | 指定されたポストに対する明示的な返信のみを配信します。 例: in_reply_to_status_id:1293593516040269825注: PowerTrack および Historical PowerTrack でのみ利用可能です。 |
| sample: | ルールに一致する投稿のランダムサンプルを返します。サンプルの割合は 1 から 100 までの整数である必要があります。 このオペレーターはまず対象範囲を X%に絞り、そのサンプリングされたサブセットに対してルール/フィルターを適用します。 例: #happybirthday sample:5"happy birthday"~5 sample:80注: PowerTrack および Historical PowerTrack でのみ利用可能です。 |
| source: | 指定されたソースアプリケーションによって生成された任意のポストにマッチします。値にはアプリケーション名またはその URL を指定できます。 例: #happybirthday source:"X for iPhone""This is a test X from my TestingApp" source:MyTestAppName注: source 演算子はポストの source 属性を検索し、単独では使用できません。 |
| lang: | 特定の言語としてXによって分類された投稿にマッチします。投稿は現在1つの言語にのみ分類されているため、複数の言語を指定しても結果は返されません。単独での使用は推奨されません。 |
| Amharic: am | German: de | Malayalam: ml | Slovak: sk |
| Arabic: ar | Greek: el | Maldivian: dv | Slovenian: sl |
| Armenian: hy | Gujarati: gu | Marathi: mr | Sorani Kurdish: ckb |
| Basque: eu | Haitian Creole: ht | Nepali: ne | Spanish: es |
| Bengali: bn | Hebrew: iw | Norwegian: no | Swedish: sv |
| Bosnian: bs | Hindi: hi | Oriya: or | Tagalog: tl |
| Bulgarian: bg | Latinized Hindi: hi-Latn | Panjabi: pa | Tamil: ta |
| Burmese: my | Hungarian: hu | Pashto: ps | Telugu: te |
| Croatian: hr | Icelandic: is | Persian: fa | Thai: th |
| Catalan: ca | Indonesian: in | Polish: pl | Tibetan: bo |
| Czech: cs | Italian: it | Portuguese: pt | Traditional Chinese: zh-TW |
| Danish: da | Japanese: ja | Romanian: ro | Turkish: tr |
| Dutch: nl | Kannada: kn | Russian: ru | Ukrainian: uk |
| English: en | Khmer: km | Serbian: sr | Urdu: ur |
| Estonian: et | Korean: ko | Simplified Chinese: zh-CN | Uyghur: ug |
| Finnish: fi | Lao: lo | Sindhi: sd | Vietnamese: vi |
| French: fr | Latvian: lv | Sinhala: si | Welsh: cy |
| Georgian: ka | Lithuanian: lt |
| 演算子 | 説明 |
|---|---|
| place | 指定された場所または X place ID がタグ付けされた投稿にマッチします。 複数の単語から成る場所名は引用符で囲む必要があります。 例: (place:London OR place:"Great Britain") -place:USAplace:fd70c22040963ac7注: X place ID の取得方法については、GET geo/search の公開 API エンドポイントを参照してください。 注: リツイートや引用ツイートにはマッチしません。リツイートの場所情報は元のポストに紐づいているためです。 |
| place_country | タグ付けされた場所/ロケーションに関連付けられた国コードが、指定した ISO alpha-2 文字コードと一致する投稿にマッチします。 例: place_country:GB OR place_country:AU OR place_country:CA注: リツイートや引用ツイートにはマッチしません。リツイートの場所情報は元のポストに紐付けられているためです。 有効な ISO コード: ISO 3166-1 alpha-2. |
| point_radius:[lon lat radius] | 定義された半径内にあるポストの Exact Location (x,y) または「Place」のジオポリゴンにマッチします。 * 半径: < 25mi * 対応単位: mi, km * 経度: ±180 * 緯度: ±90 座標は小数の度 (decimal degrees) で指定します。 引数は角括弧で囲み、スペース区切りにします。 例: point_radius:[-105.27346517 40.01924738 0.5mi]例: point_radius:[2.355128 48.861118 16km]注: リツイートや引用ツイートにはマッチしません。 |
| bounding_box:[west_long south_lat east_long north_lat] | 正確な位置情報またはバウンディングボックス内に完全に含まれる「Place」ジオポリゴンに対して一致します。 引数は角括弧で囲み、スペース区切りで指定します。 座標: 10進法の度 (経度 ±180、緯度 ±90) 。 幅と高さは 25mi 未満である必要があります。 例: bounding_box:[-105.301758 39.964069 -105.178505 40.09455]注: リツイートや引用ツイートには一致しません。 |
| profile_country | 投稿者プロフィールに設定されているジオ情報の国コードが、指定した ISO 3166-1 alpha-2 形式の2文字の国コードと一致するポストにマッチします。 |
| profile_region | 著者のプロフィールの geo エンリッチメントにおける「region」フィールドに対して、文字列全体の完全一致でマッチします。 空白または句読点を含む部分文字列には二重引用符を使用してください。 例: profile_region:"New York" |
| profile_locality | 投稿者のプロフィールの位置情報エンリッチメントにおける「locality」フィールドに対してマッチし、文字列の完全一致で照合します。 空白または句読点を含む部分文字列にはダブルクォーテーションを使用します。 例: profile_locality:"San Francisco" |
| profile_subregion | 投稿者のプロフィールのジオ拡張に含まれる「subRegion」フィールドに対してマッチを行い、特定の郡や都市圏などを対象とします。 完全一致の文字列マッチを行います。 Example: profile_subregion:"Santa Clara County" |
| has:geo | X からのポスト固有の位置情報データ (geo の緯度経度や、表示名とジオポリゴンを持つ Place の位置情報データを含む) を持つ投稿に一致します。注意: Search API では、 is: や has: 以外の演算子と組み合わせて使用する必要があります。 |
| has:profile_geo | 値に関係なく、いずれかのプロフィールのジオメタデータを持つ投稿にマッチします。 利用可能なエイリアス: has:derived_user_geo。注意: Search API を利用する場合、 is: または has: 以外のオペレーターと組み合わせる必要があります。 |
| has:links | ペイロードの “text” オブジェクト内にリンクまたは参照されているメディアを含む投稿 (メディアおよび引用ツイートを含む) にマッチします。 注: Search API を使用する場合は、 is: または has: 以外のオペレーターと組み合わせて使用する必要があります。 |
| is:retweet | 明示的なリツイートのみを返します。否定形にすることでリツイートを除外し、元の投稿のみを取得できます。 このオペレーターは、引用ツイートではなく、通常のリツイートのみを対象とします。 注: Search API では、 is: または has: 以外のオペレーターと組み合わせて使用する必要があります。 |
| is:reply | 明示的な返信のみを返します。否定形を用いると、返信を除外できます。 PowerTrack は、元の投稿への返信、引用投稿内の返信、およびリツイート内の返信に一致します。 Search API は元の投稿への返信のみに一致します。 例: @XDevelopers -is:reply |
| is:quote | 引用ツイート、または別のポストを参照している投稿のみを返します。 否定形を用いることで引用ツイートを除外できます。 Example: @XDevelopers is:quote |
| is:verified | 「認証済み」の投稿者による投稿のみを返します。否定形で使用することで、認証済みの投稿者による投稿を除外できます。 例: @XDevelopers is:verified |
| has:mentions | 他のXユーザーへの言及を含む投稿にマッチします。 注: Search API を使用する場合は、 is: または has: 以外のオペレーターと組み合わせて使用する必要があります。 |
| has:hashtags | ハッシュタグを含む投稿に一致します。 注: Search API では、 is: または has: 以外の演算子と組み合わせて使用する必要があります。 |
| has:media | X によってメディア URL と分類されている URL (例: pic.x.com) を含む投稿にマッチします。 利用可能なエイリアス: has:media_link。注意: Search API では、 is: や has: 以外のオペレーターと組み合わせて使用する必要があります。 |
| has:images | メディア URL (例: pic.x.com) を含むポストにマッチします。 注: Search API では、 is: および has: 以外のオペレーターと組み合わせて使用する必要があります。 |
| has:videos | X にアップロードされたネイティブ動画を含む投稿にマッチします。 利用可能な別名: has:video_link。この演算子は、YouTube、Periscope、その他の動画ホスティングサイトの動画にはマッチしません。 注: Search API では、 is: および has: 以外の演算子と組み合わせて使用する必要があります。 |
| has:symbols | キャッシュタグ (例: $TWTR) を含む投稿にマッチします。 注: Search API では、 is: および has: 以外のオペレーターと組み合わせて使用する必要があります。 |
プロダクト別のオペレーター
ルールとフィルタリング:エンタープライズ
| 演算子 | 製品 | 説明 | ペイロード要素内のマッチ対象 |
|---|---|---|---|
| ”完全一致のフレーズ” | PowerTrack Search | ポスト本文中のフレーズに完全一致するものにマッチします。 検索オペレーターに変換可能なコンポーネントは、単語として扱われます。言い換えると、次のとおりです。 * "#hashtag" は hashtag にはマッチしますが、#hashtag にはマッチしません (実際のハッシュタグにマッチさせるには、引用符を付けずに hashtag operator を使用してください) * "$TWTR" は単語 TWTR にはマッチしますが、キャッシュタグ $TWTR にはマッチしません (実際のキャッシュタグにマッチさせるには、引用符を付けずに cashtag operator を使用してください) 注: 30 Day Search および Full Archive Search (Enterprise と Premium) では、句読点はトークナイズされず、空白文字として扱われます。 | text |
| @ | PowerTrack Search | 指定したユーザー名がメンションされているポストにマッチします。値には、ユーザー名 (@ 文字を含めない形式) またはユーザーの数値 id (たとえば GET users/lookup エンドポイントで取得したもの) を指定できます。 | entities.user_mentions |
| # | PowerTrack Search | 指定したハッシュタグを含むポストすべてにマッチします。 このオペレーターは完全一致で照合を行います。たとえば、ルール #1989 は、ハッシュタグ #1989 をそのまま含む投稿にはマッチしますが、ハッシュタグ #TaylorSwift1989 を含む投稿にはマッチしません。注記: このオペレーターは、本文からハッシュタグ自体を抽出するのではなく、X のエンティティ抽出機能に依存してハッシュタグをマッチさせます。エンティティ由来の JSON 属性の詳細については、X Entities を参照してください。 | entities.hashtags |
| $ | PowerTrack Search | 指定したキャッシュタグ (先頭文字が $ のトークン) を含む任意のポストにマッチします。注: このオペレーターは、本文からリンクを抽出するのではなく、X のエンティティ抽出に依存してリンクをマッチングします。エンティティに由来する JSON 属性の詳細については、X Entities を参照してください。 | entities.symbols |
| bio: | PowerTrack | 利用可能なエイリアス: user_bio: 投稿したユーザーの自己紹介文内のキーワード (トークン化マッチを使用) またはフレーズにマッチします。フレーズにマッチさせるには二重引用符を使用します。つまり: * bio:software engineer は、自己紹介文に software という単語を含むユーザーが行った投稿のうち、キーワード engineer を含むものにマッチします* bio:"software engineer" は、自己紹介文に software engineer というフレーズを含むユーザーが投稿した任意の投稿にマッチします | user``.description |
| bio_location: | PowerTrack | 利用可能な別名: user_bio_location: User object の location に指定したキーワード (トークン化マッチを使用) またはフレーズが含まれている投稿にマッチします。 この location は正規化されていない、ユーザーが自由に入力したフリーフォーム文字列であり、ポストの location (存在する場合) とは異なります。 | user.location |
| bio_name: | PowerTrack | User object の name に指定したキーワード (トークン化マッチを使用) またはフレーズが含まれている投稿にマッチします。 | user.name |
| bounding_box: | PowerTrack Search | 利用可能なエイリアス: geo_bounding_box: 投稿の正確な位置情報 (経度 long、緯度 lat。存在する場合) およびジオポリゴン (Place が定義された領域内に完全に含まれている場合) に対してマッチします。 * west_long south_lat はバウンディングボックスの南西端を表し、west_long がその点の経度、south_lat が緯度です。 * east_long と north_lat はバウンディングボックスの北東端を表し、east_long がその点の経度、north_lat が緯度です。 * バウンディングボックスの幅と高さは 25 マイル未満である必要があります。 * 経度は ±180 の範囲内です。 * 緯度は ±90 の範囲内です。 * すべての座標は度 (小数点表記) です。 * ルール引数は角括弧内に記述し、スペース区切りにします。 注: place (投稿のジオ情報) にマッチする演算子は、オリジナルの投稿のみを対象とします。リツイートには place データは含まれません。 | place (元の投稿のみ) |
| contains: | PowerTrack | トークン化の有無に関係なく、本文中に指定した部分文字列を含む投稿に対して部分文字列一致を行います。つまり、単純な部分文字列一致を行い、単語境界は考慮しません。 空白や句読点を含む部分文字列に一致させるには、その文字列を二重引用符 (”) で囲んでください。 | text |
| <emoji> | PowerTrack Search | ポスト本文内の絵文字に一致します。 これはトークン単位でのマッチであり、指定した絵文字はポスト本文のトークン化されたテキストと照合されます。トークン化は、句読点、記号/絵文字、および区切り記号として扱われる Unicode 基本多言語面の文字に基づいて行われます。たとえば、「I like 🍕」というテキストのポストは、I、like、🍕 というトークンに分割されます。これらのトークンが、ルールで使用した絵文字と比較されます。 Note: 絵文字にバリアントがある場合は、その絵文字をルールに追加する際にダブルクォーテーションで囲む必要があります。 | text |
| followers_count: | PowerTrack | 著者のフォロワー数が指定した範囲内にある投稿に一致します。 * 単一の数値 (例: followers_count:42) は、指定した値以上の任意の数値に一致します。* 範囲 (例: followers_count:42..1337) は、指定した範囲内の任意の数値に一致します。 | user.followers_count |
| friends_count: | PowerTrack | 利用可能なエイリアス: following_count: 著者の friends_count (フォローしているユーザー数) が指定した範囲内にある投稿にマッチします。 * 単一の数値 (例: followers_count:42) は、指定した値以上の任意の数値にマッチします。* 範囲 (例: followers_count:42..1337) は、指定した範囲内の任意の数値にマッチします。 | user.friends_count |
| from: | PowerTrack Search | 特定ユーザーからの任意のポストにマッチします。値として指定できるのは、ユーザー名 (@ 文字を除く) か、そのユーザーの数値 ID です。数値 ID は、たとえば GET users/lookup エンドポイントで取得できます。 | user.id, user.id_str (ユーザーIDを使用する場合) user.screen_name (ユーザー名を使用する場合) |
| has:geo | PowerTrack Search | X によって投稿固有の位置情報データが付与されている投稿にマッチします。これは「geo」による緯度・経度の座標、または X の Place としての「location」 (対応する表示名、ジオポリゴン、その他のフィールドを含む) のいずれかです。 単独のオペレーターとしては使用できません。 注: place (投稿の位置情報) にマッチするオペレーターは、元の投稿のみを対象とします。リツイートには place データは含まれません。 | place (元のツイートのみ) |
| has:hashtags | PowerTrack Search | 少なくとも 1 つのハッシュタグを含む投稿にマッチします。 単独のオペレーターとしては使用できません。 | entities.hashtags |
| has:images | PowerTrack Search | 少なくとも1つの分類済みの画像URLを含む投稿にマッチします。 単独のオペレーターとしては使用できません。 | entities.media |
| has:lang | PowerTrack | X によって特定の言語に分類された投稿にマッチします。 ポストが分類されていない場合、この演算子はマッチしません。各ポストは現在 1 つの言語にのみ分類されているため、複数の言語を AND で組み合わせても結果は返されません。 単独の演算子としては使用できません。 | lang (値が und でない場合) |
| has:links | PowerTrack Search | このオペレーターは、ポスト本文内にリンクを含む投稿にマッチします。 単独のオペレーターとしては使用できません。 注: このオペレーターは、本文から直接リンクを抽出するのではなく、リンクをマッチさせるために X のエンティティ抽出機能に依存します。エンティティ由来の JSON 属性の詳細については、X Entities を参照してください。 | entities.urls |
| has:media | PowerTrack Search | 利用可能なエイリアス: has:media_link 少なくとも 1 つの分類されたメディア URL を含む投稿に一致します。 単独のオペレーターとしては使用できません。 | entities.media |
| has:mentions | PowerTrack Search | 他のXユーザーに言及している投稿にマッチします。 単独のオペレーターとしては使用できません。 | entities.user_mentions |
| has:profile_geo | PowerTrack Search | 利用可能なエイリアス: has:derived_user_geo 実際の値に関係なく、任意の Profile Geo メタデータが付与されている投稿にマッチします。 単独のオペレーターとしては使用できません。 | user.location |
| has:symbols | PowerTrack Enterprise | キャッシュタグ (例: $TWTR) を含む投稿にマッチします。単独のオペレーターとしては使用できません。 | entities.symbols |
| has:videos | PowerTrack Search | 利用可能なエイリアス: has:video_link 少なくとも 1 つの分類済みメディア URL を含む投稿に一致します。 単独の演算子としては使用できません。 | entities.media |
| in_reply_to_status_id: | PowerTrack | 利用可能なエイリアス: in_reply_to_tweet_id: 指定したポストへの明示的な返信だけを配信します。 | 対象ポストの id/id_str フィールド |
| is:quote | PowerTrack | ルールに一致する明示的な引用ツイートのみを配信します。 また、否定形 ( -is:quote) を使用すると、ルールに一致する引用ツイートを配信から除外できます。このオペレーターは単独では使用できません。 | is_quote_status が true の場合 |
| is:reply | PowerTrack Search | ルールに合致する返信のみを配信します。-is:reply を指定して否定することで、指定したルールに合致する返信を配信から除外することもできます。PowerTrack では、このオペレーターは次の対象にマッチします。 * 元のポストへの返信 * 引用された投稿内の返信 * リツイート内の返信 Search API で使用する場合、このオペレーターは元のポストへの返信にはマッチしますが、引用ツイート内の返信およびリツイート内の返信は除外されます。 このオペレーターは is:retweet および is:quote と組み合わせて使用することで、元のポストへの返信のみを配信できます。Search API では単独のオペレーターとしては使用できません。 注意: Premium では、このオペレーターは Sandbox 開発環境では利用できません。 | 返信要素 (例: in_reply_to_status_id) |
| is:retweet | PowerTrack Search | ルールに一致する明示的なリツイートのみを配信します。 また、否定形 ( -is:retweet) を使用して、ルールに一致するリツイートを配信から除外し、オリジナルのコンテンツのみを配信することもできます。この演算子は、リツイートボタンを使用して投稿された正規のリツイートのみを検出します。X のリツイート機能を使用しない引用ツイートや内容が変更された投稿は、この演算子では一致しません。 単独の演算子としては使用できません。 | リツイート要素 (例:retweeted_status) |
| is:verified | PowerTrack Search | 投稿者がXにより認証済みの投稿のみを配信します。 また、否定形を用いることで、投稿者が認証済みの投稿を除外できます。 単独のオペレーターとしては使用できません。 | user.verified |
| keyword | PowerTrack Search | ポスト本文内のキーワードにマッチします。 これはトークン単位でのマッチであり、指定したキーワード文字列はポスト本文のトークン化されたテキストと照合されます。トークン化は、句読点、記号/絵文字、およびセパレーターに該当する Unicode 基本多言語面の文字に基づいて行われます。たとえば、「I like coca-cola」というテキストのポストは、次のトークンに分割されます: I, like, coca, cola。これらのトークンが、ルールで使用したキーワード文字列と比較されます。句読点 (例: coca-cola) 、記号、またはセパレーター文字を含む文字列にマッチさせるには、exact phrase match 演算子を使用する必要があります。 | text |
| lang: | PowerTrack Search | X によって特定の言語に分類された投稿 (投稿が分類されている場合にのみ) にマッチします。各投稿は 1 つの言語にのみ分類されるため、複数の言語を AND で組み合わせても結果は得られません。 注: 言語分類が行えない場合、返される値は und (未定義) です。このオペレーターは、サポートされている言語に対してのみマッチします。 und を含むそれ以外の値を指定した場合、このオペレーターは無視されます (つまり、投稿はこのオペレーターではフィルタリングされません) 。以下のリストは、現在サポートされている言語と、それに対応する BCP 47 言語識別子を示します。am Amharic (アムハラ語) hu Hungarian (ハンガリー語) pt Portuguese (ポルトガル語) ar Arabic (アラビア語) is Icelandic (アイスランド語) ro Romanian (ルーマニア語) hy Armenian (アルメニア語) in Indonesian (インドネシア語) ru Russian (ロシア語) bn Bengali (ベンガル語) it Italian (イタリア語) sr Serbian (セルビア語) bg Bulgarian (ブルガリア語) ja Japanese (日本語) sd Sindhi (シンド語) my Burmese (ビルマ語) kn Kannada (カンナダ語) si Sinhala (シンハラ語) zh Chinese (中国語) km Khmer (クメール語) sk Slovak (スロバキア語) cs Czech (チェコ語) ko Korean (韓国語) sl Slovenian (スロベニア語) da Danish (デンマーク語) lo Lao (ラオス語) ckb Sorani Kurdish (ソラニー・クルド語) nl Dutch (オランダ語) lv Latvian (ラトビア語) es Spanish (スペイン語) en English (英語) lt Lithuanian (リトアニア語) sv Swedish (スウェーデン語) et Estonian (エストニア語) ml Malayalam (マラヤーラム語) tl Tagalog (タガログ語) fi Finnish (フィンランド語) dv Maldivian (ディベヒ語) ta Tamil (タミル語) fr French (フランス語) mr Marathi (マラーティー語) te Telugu (テルグ語) ka Georgian (グルジア語) ne Nepali (ネパール語) th Thai (タイ語) de German (ドイツ語) no Norwegian (ノルウェー語) bo Tibetan (チベット語) el Greek (ギリシャ語) or Oriya (オリヤー語) tr Turkish (トルコ語) gu Gujarati (グジャラート語) pa Panjabi (パンジャブ語) uk Ukrainian (ウクライナ語) ht Haitian (ハイチ語) ps Pashto (パシュトー語) ur Urdu (ウルドゥー語) iw Hebrew (ヘブライ語) fa Persian (ペルシア語) ug Uyghur (ウイグル語) hi Hindi (ヒンディー語) pl Polish (ポーランド語) vi Vietnamese (ベトナム語) cy Welsh (ウェールズ語) | lang (値が und 以外の場合) |
| listed_count: | PowerTrack | 利用可能なエイリアス: user_in_lists_count: 投稿の作者がX上のリストに追加された回数が、指定した範囲内にある場合に、その投稿にマッチします。 * 単一の数値 (例: listed_count:42) は、指定した値以上の任意の数値にマッチします。* 範囲 (例: listed_count:42..1337) は、指定した範囲内の任意の数値にマッチします。 | user.listed_count |
| place_country: | PowerTrack Search | タグ付けされた 場所/ロケーション に関連付けられている国コードが、指定された ISO アルファベット 2 文字コード と一致する投稿にマッチします。 注: place (Post geo) でマッチングを行うオペレーターは、オリジナルの投稿のみを対象とします。リツイートには place データが含まれません。 | place (オリジナルのポストのみ) |
| place: | PowerTrack Search | 指定した場所または X place ID がタグ付けされた投稿に一致します。複数語から成る場所名は引用符で囲む必要があります (例: place:"San Francisco") Note: place (Post geo) に基づいてマッチングを行うオペレーターは、オリジナルの投稿のみを対象とします。リツイートには place データが含まれていません。 | place (オリジナルの投稿のみ) |
| point_radius: | PowerTrack Search | 注: place (ポストの位置情報) にマッチするオペレーターは、オリジナルの投稿のみを対象とします。リツイートには place データが含まれません。 | place (オリジナルの投稿のみ) |
| profile_bounding_box:[west_long south_lat east_long north_lat] | PowerTrack | 定義された領域内に Place が完全に含まれている場合、Profile Geo enrichment におけるユーザーの正確な Location (経度 long、緯度 lat) にマッチします。 * west_long と south_lat はバウンディングボックスの南西端を表し、west_long がその地点の経度、south_lat が緯度です。 * east_long と north_lat はバウンディングボックスの北東端を表し、east_long がその地点の経度、north_lat が緯度です。 * バウンディングボックスの幅と高さは 25mi (約 25 マイル) 未満である必要があります * 経度は ±180 の範囲内です * 緯度は ±90 の範囲内です * すべての座標は 10 進度で指定します。 * ルール引数は角括弧内に含め、スペース区切りで指定します。 Note: place (ポストの位置情報) に対してマッチングするオペレーターは、元の投稿に対するマッチのみを対象とします。リツイートには place データが含まれていません。 | user.derived.locations.geo.coordinates |
| profile_country: | PowerTrack Search | Profile Geo enrichment の国コードに対する完全一致です。 ISO-3166-1-alpha-2 specification に基づいた、正規化された2文字の国コードのセットを使用します。 仕様を簡潔に保つため、住所オブジェクトの country フィールド用オペレーターの代わりとして、このオペレーターが提供されています。 注意: place (ポストのジオ情報) に対してマッチするオペレーターは、元のポストからのマッチのみを含みます。リツイートには place データが含まれていません。 | user.derived.locations.country_code |
| profile_locality: | PowerTrack Search | Profile Geo enrichment の Locality フィールドの値に対して厳密に一致します。 文字列全体が完全に一致している必要があります。 バックスラッシュで文字をエスケープする必要はありません。たとえばスラッシュを含むものにマッチさせる場合は、 one/two を使用します。空白や句読点を含む部分文字列にマッチさせるには二重引用符を使用してください。例: profile_locality:"Lower East Side"。 | user.derived.locations.locality |
| profile_point_radius:[lon lat radius] | PowerTrack | ユーザーの Profile Geo enrichment における Exact Location (x,y) に対して照合を行います。 * 半径に指定できる単位はマイル (mi) とキロメートル (km) です。 * 半径は 25mi 未満である必要があります。 * 経度は ±180 の範囲です。 * 緯度は ±90 の範囲です。 * すべての座標は度を表す 10 進数です。 * ルール引数は角括弧内に記述し、スペース区切りで指定します。 Note: place (ポストの位置情報) にマッチするオペレーターは、オリジナルのポストのみを対象にマッチします。リツイートには place データが含まれません。 | user.derived.locations.geo |
| profile_region: | PowerTrack Search | Profile Geo enrichment の Region フィールドの値に対する完全一致。 これは文字列全体が完全に一致する必要があるマッチです。 バックスラッシュで文字をエスケープする必要はありません。たとえば、スラッシュを含むものにマッチさせる場合は one/two のように指定します。空白や句読点を含む部分文字列にマッチさせるには、 profile_locality:"New York" のように二重引用符を使用してください。 | user.derived.locations.region |
| profile_subregion: | PowerTrack | Profile Geo enrichment の Subregion フィールドとの完全一致です。 これは文字列全体に対する完全一致です。 バックスラッシュで文字をエスケープする必要はありません。たとえばスラッシュを含むものにマッチさせる場合は、 one/two を使用します。空白や句読点を含む部分文字列に一致させるには二重引用符を使用します。例: profile_locality:"Kings County"。 | user.derived.locations.sub_region |
| ”keyword1 keyword2”~N | PowerTrack Search | 一般的に「近接演算子」と呼ばれ、キーワード同士が互いに N トークン以内の距離にあるポストにマッチします。 キーワードの順序が逆の場合は、互いの距離が N-2 トークン以内でなければなりません。 引用符内には任意の数のキーワードを指定できます。 N は 6 を超えることはできません。 | text |
| retweets_of_status_id: | PowerTrack | 利用可能なエイリアス: retweets_of_tweet_id: 指定した元のポストの明示的なリツイートのみを返します。 | retweeted_status.id, retweeted_status.id_str |
| retweets_of: | PowerTrack Search | 利用可能な別名: retweets_of_user: 指定したユーザーのポストをリツイートした任意のポストにマッチします。値には、ユーザー名 ( @ 文字を含めない) またはユーザーの数値 ID (たとえば GET users/lookup エンドポイント経由で取得したもの) を指定できます。 | retweeted_status.id (存在する場合) |
| sample: | PowerTrack | ルールに一致する投稿全体ではなく、そのランダムに抽出されたパーセントサンプルを返します。パーセント値は 1 から 100 までの整数で指定する必要があります。 このオペレーターはルール全体に適用され、OR で結合されたすべての項目をグループ化する必要があります。 注: sample オペレーターは、まず firehose の範囲を X% に絞り込み、その後にルール/フィルターがそのサンプル対象のサブセットに適用されます。たとえば sample:10 を使用する場合、各投稿がサンプルに含まれる確率は 10% です。注: サンプリングは決定論的に行われるため、履歴データを取得した場合と同じデータサンプルをリアルタイムでも取得できます。 | |
| source: | PowerTrack | 指定されたソースアプリケーションによって生成されたポストすべてにマッチします。値にはアプリケーション名またはアプリケーションのURLのいずれかを指定する必要があります。 単独のオペレーターとしては使用できません。 | source |
| statuses_count: | PowerTrack | 利用可能な別名: tweets_count: 投稿者が投稿したステータス数が指定した範囲内にある投稿にマッチします。 * 単一の数値 (例: statuses_count:42) は、指定した値以上の任意の値にマッチします。* 範囲 (例: statuses_count:42..1337) は、指定した範囲内の任意の値にマッチします。 | user``.statuses_count |
| to: | PowerTrack Search | 特定のユーザーへの返信であるポストにマッチします。値には、ユーザー名 (@ 文字を除く) または、そのユーザーの数値 ID (たとえば GET users/lookup エンドポイントで取得可能) を指定できます。 | text |
| url: | PowerTrack Search | ポストの展開済みURLに対してトークン単位のマッチングを行います。句読点や特殊文字を含むトークンやフレーズは二重引用符で囲む必要があります (例: url:"/developer") 。一般的には推奨されませんが、この演算子は特定のプロトコルを対象としてマッチさせることもでき、その場合は二重引用符で囲みます (例: url:"https://developer.x.com") 。 | entities.urls.expanded_url |
| url_contains: | PowerTrack | 新しい拡張URLタイトルのメタデータエンリッチメントに対してキーワード/フレーズの一致を実行します。 | entities.urls.expanded_url |
| url_description: | PowerTrack | 利用可能なエイリアス: within_url_description: (新しい) 拡張ページ説明メタデータのエンリッチメントに対してキーワード/フレーズによるマッチングを実行します。 | entities.urls.unwound.description |
| url_title: | PowerTrack | 利用可能な別名: within_url_title: (新しい) 拡張 URL タイトル メタデータ エンリッチメント に対してキーワード/フレーズによるマッチングを行います。 | entities.urls.title |