Aprende a crear reglas de flujo filtrado usando operadores
Los endpoints de flujo filtrado devuelven Publicaciones que cumplen un conjunto de reglas aplicadas al flujo. Las reglas se componen de operadores que se aplican a una variedad de atributos de la Publicación.Se pueden aplicar varias reglas mediante el endpoint POST /tweets/search/stream/rules. Una vez que hayas agregado reglas y te hayas conectado mediante GET /tweets/search/stream, solo se devolverán las Publicaciones que coincidan con tus reglas. No necesitas cerrar la conexión para agregar o eliminar reglas.
Tipos de operadores: independientes y que requieren conjunción
Los operadores independientes se pueden usar solos o junto con cualquier otro operador (incluidos aquellos que requieren conjunción).Por ejemplo, esta regla funciona porque #hashtag es un operador independiente:
#xapiv2
Los operadores que requieren conjunción no se pueden usar por sí solos en una regla; solo se pueden usar cuando se incluye al menos un operador independiente. Esto se debe a que usar estos operadores solos haría coincidir un volumen extremadamente alto de Publicaciones.Por ejemplo, las siguientes reglas no se admiten ya que contienen únicamente operadores que requieren conjunción:
has:media
has:links OR is:retweet
Si añadimos un operador aislado, como la frase "X data", la regla funciona correctamente:
Signos de puntuación, diacríticos y distinción entre mayúsculas y minúsculas
Diacríticos: Las reglas del flujo filtrado con acentos solo coinciden con Publicaciones que también incluyen el acento. Por ejemplo, diacrítica coincide con diacrítica pero no con diacritica.Distinción entre mayúsculas y minúsculas: Ningún operador distingue entre mayúsculas y minúsculas. La regla cat coincide con cat, CAT y Cat.
La búsqueda de Publicaciones se comporta de forma diferenteAl crear consultas de búsqueda, las palabras clave con acentos coinciden con Publicaciones tanto con como sin acentos. Por ejemplo, Diacrítica coincide tanto con Diacrítica como con Diacritica.
Cuando se usa el flujo filtrado, los operadores se evalúan tanto sobre el contenido del Tweet citado como sobre el contenido de la Publicación original que fue citada.
Buscar Publicaciones se comporta de manera diferente: solo se evalúa sobre el contenido del Tweet citado, no sobre la Publicación original.
No se recomienda usar operadores generales como una sola palabra clave o un hashtag: harán coincidir un volumen masivo de Publicaciones y agotarán rápidamente tu conexión.
Consejos para crear reglas efectivas:
Empieza de forma específica y luego amplía — Crea reglas dirigidas que devuelvan resultados relevantes
Usa múltiples operadores — Combina operadores para acotar los resultados
Controla el número de caracteres — Toda la cadena de la regla cuenta para el límite
Ejemplo de progresión:
# Too broad - 200,000+ Posts per dayhappy# Mejor: agrega filtro de idioma y exclusiones(happy OR happiness) lang:en -birthday -is:retweet# Even better - 59 characters, more specific(happy OR happiness) place_country:GB -birthday -is:retweet
Detecta Publicaciones de agencias meteorológicas sobre el huracán Harvey:
{ "value": "-is:retweet has:geo (from:NWSNHC OR from:NHC_Atlantic OR from:NWSHouston OR from:NWSSanAntonio OR from:USGS_TexasRain OR from:USGS_TexasFlood OR from:JeffLindner1)", "tag": "Hurricane Harvey - weather agencies with geo"}
{ "value": "#nowplaying (happy OR exciting OR excited OR favorite OR fav OR amazing OR lovely OR incredible) (place_country:US OR place_country:MX OR place_country:CA) -horrible -worst -sucks -bad -disappointing", "tag": "#nowplaying positive"}
Sentimiento negativo:
{ "value": "#nowplaying (horrible OR worst OR sucks OR bad OR disappointing) (place_country:US OR place_country:MX OR place_country:CA) -happy -exciting -excited -favorite -fav -amazing -lovely -incredible", "tag": "#nowplaying negative"}
Encuentra Publicaciones en japonés sobre mascotas (que no sean gatos) con imágenes utilizando el operador context::Primero, usa Post lookup con tweet.fields=context_annotations para identificar los IDs de domain.entity:
Gatos: domain 66, entity 852262932607926273
Mascotas: domain 65, entity 852262932607926273
{ "value": "context:65.852262932607926273 -context:66.852262932607926273 -is:retweet has:images lang:ja", "tag": "Japanese pets with images - no cats"}