Creación de consultas para Streams

Las consultas para Streams (flujos de datos) se componen de operadores que se utilizan para hacer coincidir una variedad de atributos de los Posts

Construyendo una consulta

Limitaciones de consulta

Las consultas estan limitadas a un total de 1000 caracteres.

Los Streams pueden proveer de diferentes fuentes con diferentes caracteristicas, por lo que no todos los operadores aplican para todas las fuentes de datos.

Para obtener más información sobre cómo crear consultas de alta calidad para twitter, visite el siguiente tutorial: Building high-quality filters for getting Twitter data

Operadores booleanos y agrupación

Si desea encadenar varios operadores en una sola consulta, tiene a su disposición las siguientes herramientas:

AND lógica Los operadores sucesivos con un espacio entre ellos darán como resultado una lógica booleana "AND", lo que significa que los Posts coincidirán solo si se cumplen ambas condiciones. Por ejemplo,  snow day #NoSchool  coincidirá con los Posts que contengan los términos snow y day y el hashtag #NoSchool.
OR lógica Los operadores sucesivos con OR entre ellos darán como resultado una lógica O, lo que significa que los Posts coincidirán si se cumple alguna de las condiciones. Por ejemplo, especificar grumpy OR cat OR #meme  coincidirá con cualquier Tweet que contenga al menos los términos grumpy o cat, o el hashtag #meme.
NOT lógica, negación Anteponga un guión (-) a una palabra clave (o cualquier operador) para negarlo (NOT). Por ejemplo,  cat #meme -grumpy  coincidirá con los Posts que contengan el hashtag #meme y el término cat, pero solo si no contienen el término grumpy. Todos los operadores pueden negarse, pero los operadores negados no pueden usarse solos.

Agrupamiento Puede usar paréntesis para agrupar operadores. Por ejemplo,  (cat grumpy) OR (#meme has:images)  devolverá Posts que contengan los términos gato y gruñón, o Posts con imágenes que contengan el hashtag #meme. Tenga en cuenta que los AND se aplican primero, luego se aplican los OR.

Una nota sobre las negaciones

Los operadores  -is:nullcast siempre deben ser negados.

Los operadores negados no se pueden usar solos.

No niegue un conjunto de operadores agrupados en un conjunto de paréntesis. En su lugar, niega cada operador individual. Por ejemplo, en lugar de usar skiing -(snow OR day OR noschool) , le sugerimos que use skiing -snow -day -noschool .

Orden de operaciones

Al combinar la funcionalidad AND y OR, el siguiente orden de operaciones dictará cómo se evalúa su consulta.

1.    Los operadores conectados por la lógica AND se combinan primero

2.    Luego, se aplican operadores conectados con la lógica OR

Por ejemplo:

·      apple OR iphone ipad se evaluaría como apple OR (iphone ipad)

·      ipad iphone OR android se evaluaría como (iphone ipad) OR android

Para eliminar la incertidumbre y asegurarse de que su consulta se evalúe según lo previsto, agrupe los términos entre paréntesis cuando corresponda.

Por ejemplo:

·      (apple o iphone) ipad

·      iphone (ipad o android)

Puntuación, signos diacríticos y distinción entre mayúsculas y minúsculas

Si especifica una consulta de palabra clave o hashtag con acentos de caracteres o signos diacríticos, coincidirá con el texto del Post que contiene tanto el término con acentos y signos diacríticos, como aquellos términos con caracteres normales. Por ejemplo, las consultas con una palabra clave  Diacrítica  o el hashtag  #cumpleaños  coincidirán con  Diacrítica  o  #cumpleaños , así como con  Diacrítica  o  #cumpleanos  sin la tilde í o eñe.

Los caracteres con acentos o signos diacríticos se tratan igual que los caracteres normales y no se tratan como límites de palabras. Por ejemplo, una consulta con la palabra clave  cumpleaños  solo buscará actividades que contengan la palabra  cumpleaños  y no buscará actividades que contengan  cumplea ,  cumplean u  os .

Todos los operadores se evalúan sin distinguir entre mayúsculas y minúsculas. Por ejemplo, la consulta  gato  hará coincidir los Posts con todo lo siguiente:  gato ,  GATO ,  Gato .

Especificidad y eficiencia

Cuando comience a crear su consulta, es importante tener en cuenta algunas cosas.

·      Por lo general, no se recomienda el uso de operadores amplios e independientes para su consulta, como una sola palabra clave o #hashtag, ya que es probable que coincida con un volumen masivo de Posts. La creación de una consulta más robusta dará como resultado un conjunto más específico de Posts coincidentes y, con suerte, reducirá la cantidad de ruido en la carga útil que deberá analizar para encontrar información valiosa.

o   Por ejemplo, si su consulta fue solo la palabra clave feliz , es probable que obtenga entre 200,000 y 300,000 posts por día.

o   Agregar más operadores condicionales reduce los resultados de búsqueda, por ejemplo (feliz OR felicidad) place_country:GB -birthday -is:retweet

·      Escribir consultas eficientes también es beneficioso para mantenerse dentro de la restricción de longitud de consulta de caracteres. El recuento de caracteres incluye la cadena de consulta completa, incluidos los espacios y los operadores.

o   Por ejemplo, la siguiente consulta tiene 61 caracteres: (feliz OR felicidad) place_country:GB -birthday -is:retweet

Construcción iterativa de una consulta

Explore sus consulta primero

Obtener una consulta que devuelva los resultados "correctos" la primera vez es raro. Hay tantos Posts que puede o no ser obvio al principio y la sintaxis de consulta descrita anteriormente puede ser difícil de hacer coincidir con la búsqueda deseada. A medida que crea una consulta, es importante que la pruebe periódicamente.

Para esta sección, comenzaremos con la siguiente consulta y la ajustaremos en función de los resultados que recibamos durante nuestra prueba:

happy OR happiness


Utilice los resultados para acotar la consulta

Mientras prueba la consulta, debe explorar los Posts devueltos para ver si incluyen los datos que espera recibir. Comenzar con una consulta amplia y un superconjunto de coincidencias de Posts le permite revisar el resultado y limitar la consulta para filtrar los resultados no deseados.  

Cuando probamos la consulta de ejemplo, notamos que recibíamos Posts en una variedad de idiomas diferentes. En esta situación, solo queremos recibir Tweets que estén en Ingles, por lo que agregaremos el operador lang ::

(happy OR happiness) lang:en

La prueba entregó una cantidad de Posts que deseaban a las personas un feliz cumpleaños, por lo que vamos a agregar -birthday como operador de palabra clave negada. También queremos recibir solo Tweets originales, por lo que agregamos el operador negado -is:retweet

(happy OR happiness) lang:en -birthday -is:retweet

Ajuste para la inclusión donde sea necesario

Si nota que no está recibiendo los datos que esperaba y sabe que hay Posts existentes que deberían devolverse, es posible que deba ampliar su consulta eliminando operadores que pueden estar filtrando los datos deseados.

Para nuestro ejemplo, notamos que había otros Tweets en nuestra línea de tiempo personal que expresaban la emoción que buscamos y no se incluyeron en los resultados de la prueba. Para asegurarnos de tener una mayor cobertura, vamos a agregar las palabras clave emocionado y eufórico .

(happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet

Ajustar las tendencias/ráfagas populares durante el período de tiempo

Las tendencias van y vienen en Twitter rápidamente. El mantenimiento de su consulta debe ser un proceso activo. Si planea usar una consulta por un tiempo, le sugerimos que verifique periódicamente los datos que está recibiendo para ver si necesita hacer algún ajuste.

En nuestro ejemplo, notamos que comenzamos a recibir algunos Tweets que le desean a la gente unas "felices fiestas". Dado que no queremos que estos Tweets se incluyan en nuestros resultados, vamos a agregar una palabra clave negada -vacaciones .

(happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet -holidays

Ejemplos de consultas

Seguimiento de un desastre natural

La siguiente consulta coincidió con Posts originales provenientes de agencias meteorológicas y medidores que hablan sobre el huracán Harvey, que azotó a Houston en 2017.

Así es como se vería la consulta:

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) -is:retweet

Revisar el sentimiento de una conversación

La siguiente regla podría usarse para comprender mejor el sentimiento de la conversación que se desarrolla en torno al hashtag,  #nowplaying , pero solo se limita a los Posts publicados en América del Norte.

Así es como se verían las dos consultas diferentes, una positiva y otra negativa:

#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

#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

Operadores

Operador Fuente Descripción
keyword General Coincide con una palabra clave dentro del cuerpo de un Tweet. Esta es una coincidencia tokenizada, lo que significa que su cadena de palabras clave se comparará con el texto tokenizado del cuerpo del Tweet. La tokenización divide las palabras en función de la puntuación, los símbolos y los caracteres de separación del plano básico Unicode.

Por ejemplo, un Tweet con el texto "Me gusta la coca-cola" se dividiría en los siguientes tokens: Me gusta, coca, cola. Estos tokens luego se compararían con la cadena de palabras clave utilizada en su consulta. Para hacer coincidir cadenas que contengan signos de puntuación (por ejemplo, Coca-Cola), símbolos o caracteres separadores, debe encerrar la palabra clave entre comillas dobles.

Ejemplo: pepsi OR cola OR "coca cola"

emoticons General Coincide con un emoji dentro del cuerpo de un Tweet. Al igual que una palabra clave, los emojis son una coincidencia tokenizada, lo que significa que su emoji se comparará con el texto tokenizado del cuerpo del Tweet.

Tenga en cuenta que si un emoji tiene una variante, debe incluirlo entre comillas dobles para agregarlo a una consulta.

Ejemplo: (😃 OR 😡) 😬

"coincidencia de frase exacta" General Coincide con la frase exacta dentro del cuerpo de un Tweet.

Ejemplo: ("API de Twitter" OR #v2) -"búsqueda reciente"

# General Coincide con cualquier Tweet que contenga un hashtag reconocido, si el hashtag es una entidad reconocida en un Tweet.

Este operador realiza una coincidencia exacta, NO una coincidencia tokenizada, lo que significa que la regla #thanku coincidirá con las publicaciones con el hashtag exacto #thanku, pero no con las que tengan el hashtag #thankunext.

Ejemplo: #thankunext #fanart OR @arianagrande

@ General Coincide con cualquier Tweet que mencione el nombre de usuario dado, si el nombre de usuario es una entidad reconocida (incluido el carácter @).

Ejemplo: (@twitterdev OR @twitterapi) -@twitter

$ Twitter Coincide con cualquier Tweet que contenga el 'cashtag' especificado (donde el carácter principal del token es el carácter '$').

Tenga en cuenta que el operador del cashtag se basa en la extracción de entidades de "símbolos" de Twitter para hacer coincidir los cashtags, en lugar de intentar extraer el cashtag del propio cuerpo.

Ejemplo: $twtr OR @twitterdev -$fb

from: Twitter Coincide con cualquier Tweet de un usuario específico.

El valor puede ser el nombre de usuario (sin incluir el carácter @) o el ID de usuario numérico del usuario.

Solo puede pasar un único nombre de usuario/ID por operador from:.

Ejemplo: from:twitterdev OR from:twitterapi -from:twitter

to: Twitter Coincide con cualquier Tweet que sea en respuesta a un usuario en particular.

El valor puede ser el nombre de usuario (sin incluir el carácter @) o el ID de usuario numérico del usuario.

Solo puede pasar un solo nombre de usuario/ID por operador to:.

Ejemplo: to:twitterdev OR to:twitterapi -to:twitter

url: Twitter Realiza una coincidencia tokenizada en cualquier URL de un Tweet con formato válido.

Este operador puede coincidir con el contenido de los campos url o url_expandido . Por ejemplo, un Tweet que contenga "Debes consultar Twitter Developer Labs: https://t.co/c0A36SWil4" (con la URL corta que redirige a https://developer.twitter.com) coincidirá con las siguientes reglas:

from:TwitterDev url:"https://developer.twitter.com"

(porque coincidirá con el contenido de entidades.urls.expanded_url )

from:TwitterDev url:"https://t.co"

(porque coincidirá con el contenido de entidades.urls.url )

Los tokens y las frases que contengan signos de puntuación o caracteres especiales deben estar entre comillas dobles (por ejemplo, url:"/developer" ). Del mismo modo, para hacer coincidir un protocolo específico, escríbalo entre comillas dobles (por ejemplo, url:"https://developer.twitter.com" ).

retweets_of: Twitter Coincide con Tweets que son Retweets del usuario especificado. El valor puede ser el nombre de usuario (sin incluir el carácter @) o el ID de usuario numérico del usuario.

Solo puede pasar un solo nombre de usuario/ID por retweets_of: operador.

Ejemplo: retweets_of:twitterdev OR retweets_of:twitterapi

context: Twitter Hace coincidir los Tweets con un par de ID de dominio/ID de entidad específico. Para obtener más información sobre este operador, visite nuestra página sobre anotaciones .

Solo puede pasar un único dominio/entidad por contexto: operador.

contexto:domain_id.entity_id

Sin embargo, puede combinar múltiples dominios/entidades usando el operador OR:

(context:47.1139229372198469633 OR context:11.1088514520308342784)

Ejemplos:

context:10.799022225751871488

( domain_id.entity_id devuelve Tweets que coinciden con ese par específico de dominio-entidad)

entity: Twitter Coincide con Tweets con un valor de cadena de entidad específico. Para obtener más información sobre este operador, visite nuestra página sobre anotaciones .

Tenga en cuenta que esto solo está disponible con la búsqueda reciente.

Solo puede pasar una sola entity: operador.

entity:"declaración de cadena de entidad/lugar"

Ejemplos: entity:"Michael Jordan" OR entity:"Barcelona"

conversation_id: Twitter Coincide con Tweets que comparten una ID de conversación común. Una ID de conversación se establece en la ID de Tweet de un Tweet que inició una conversación. A medida que se publican las Respuestas a un Tweet, incluso las Respuestas a las Respuestas, el conversation_id se agrega a su carga JSON.

Solo puede pasar un único ID de conversación por operador de conversion_id:.

Ejemplo: conversion_id:1334987486343299072 (from:twitterdev OR from:twitterapi)

list: Twitter Avanzado NUEVO  Coincide con Tweets publicados por usuarios que son miembros de una lista específica.

Por ejemplo, si @twitterdev y @twitterapi eran miembros de la Lista 123 y usted incluyó list:123 en su consulta, su respuesta solo contendrá Tweets que hayan sido publicados por esas cuentas. Puede encontrar ID de lista mediante el punto final de búsqueda de lista .

Tenga en cuenta  que solo puede usar una sola list: operador por consulta, y solo puede especificar una sola lista por list: operador.

Ejemplo: list:123

place: Twitter Avanzado Coincide con Tweets etiquetados con la ubicación especificada o ID de lugar de Twitter. Los nombres de lugares de varias palabras ("Nueva York", "Palo Alto") deben estar entre comillas.

Solo se puede pasar un único lugar por place: operador.

Nota: Este operador no coincidirá con los Retweets, ya que los lugares de Retweet se adjuntan al Tweet original. Tampoco coincidirá con los lugares adjuntos al Tweet original de un Tweet de cita.

Ejemplo: place:"ciudad de nueva york" OR place:seattle OR place:fd70c22040963ac7

place_country: Twitter Avanzado Coincide con Tweets en los que el código de país asociado con un lugar/ubicación etiquetado coincide con el código de caracteres ISO alfa-2 dado.

Puede encontrar una lista de códigos ISO válidos en Wikipedia .

Solo puede pasar un único código ISO por place_country: operador.

Nota: Este operador no coincidirá con los Retweets, ya que los lugares de Retweet se adjuntan al Tweet original. Tampoco coincidirá con los lugares adjuntos al Tweet original de un Tweet de cita.

Ejemplo: place_country:US OR place_country:MX OR place_country:CA

point_radius: Twitter Avanzado Coincide con el objeto place.geo.coordinates del Tweet cuando está presente, y en Twitter, con un polígono geográfico de lugar, donde el polígono de lugar está completamente contenido dentro de la región definida.

point_radius:[longitud latitud radio]

·       Las unidades de radio admitidas son millas (mi) y kilómetros (km)

·       El radio debe ser inferior a 25 millas

·       La longitud está en el rango de ±180

·       La latitud está en el rango de ±90

·       Todas las coordenadas están en grados decimales

·       Los argumentos de la regla se encuentran entre corchetes, delimitados por espacios

Solo puede pasar un único polígono geográfico por point_radius: operador.

Nota: Este operador no coincidirá con los Retweets, ya que los lugares de Retweet se adjuntan al Tweet original. Tampoco coincidirá con los lugares adjuntos al Tweet original de un Tweet de cita.

Ejemplo: point_radius:[2.355128 48.861118 16km] OR point_radius:[-41.287336 174.761070 20mi]

bounding_box: Twitter Avanzado Coincide con el objeto place.geo.coordinates del Tweet cuando está presente, y en Twitter, con un polígono geográfico de lugar, donde el polígono de lugar está completamente contenido dentro de la región definida.

delimitación_box:[west_long south_lat east_long north_lat]

·       west_long south_lat representa la esquina suroeste del cuadro delimitador donde west_long es la longitud de ese punto y south_lat es la latitud.

·       east_long north_lat representa la esquina noreste del cuadro delimitador, donde east_long es la longitud de ese punto y north_lat es la latitud.

·       El ancho y la altura del cuadro delimitador deben ser inferiores a 25 mi

·       La longitud está en el rango de ±180

·       La latitud está en el rango de ±90

·       Todas las coordenadas están en grados decimales.

·       Los argumentos de las reglas se encuentran entre corchetes, delimitados por espacios.

Solo puede pasar un único polígono geográfico por bordering_box: operador.

Nota: Este operador no coincidirá con los Retweets, ya que los lugares de Retweet se adjuntan al Tweet original. Tampoco coincidirá con los lugares adjuntos al Tweet original de un Tweet de cita.

Ejemplo: bordering _box:[-105.301758 39.964069 -105.178505 40.09455]

is:retweet Twitter Coincidencias en Retweets que coinciden con el resto de la regla especificada. Este operador busca solo Retweets verdaderos (por ejemplo, los generados usando el botón Retweet). Este operador no coincidirá con los Tweets de citas.

Ejemplo: data @twitterdev -is:retweet

is:reply Twitter Entregue solo respuestas explícitas que coincidan con una regla. También se puede negar para excluir las respuestas que coinciden con una consulta de la entrega.

Nota: este operador también está disponible con el extremo de flujo filtrado. Cuando se usa con transmisión filtrada, este operador coincide con las respuestas a un Tweet original, las respuestas en Tweets citados y las respuestas en Retweets.

Ejemplo: from:twitterdev is:reply

is:quote Twitter Devuelve todos los Tweets con citas, también conocidos como Tweets con comentarios.

Ejemplo: "análisis de opinión" is:cita

is:verified Twitter Entregue solo Tweets cuyos autores estén verificados por Twitter.

Ejemplo: #ahorajuega es:verificado

-is:nullcast Twitter Avanzado Elimina los Tweets creados para promoción solo en ads.twitter.com que tienen una "fuente": "Twitter para anunciantes (heredado)" o "fuente": "Twitter para anunciantes".

Este operador debe ser negado.

Para obtener más información sobre Tweets anulados, consulte nuestra página sobre disponibilidad de Tweets .

Ejemplo: "juegos móviles" -is:nullcast

has:hashtags Twitter Coincide con Tweets que contienen al menos un hashtag.

Ejemplo: from:twitterdev -has:hashtags

has:cashtags Twitter Avanzado Coincide con Tweets que contienen un símbolo de etiqueta (con un carácter '$' inicial. Por ejemplo, $etiqueta ).

Ejemplo: #stonks has:cashtags

has:links Twitter Este operador coincide con los Tweets que contienen enlaces y medios en el cuerpo del Tweet.

Ejemplo: from:twitterdev anuncio has:enlaces

has:mentions Twitter Coincide con Tweets que mencionan a otro usuario de Twitter.

Ejemplo: #nowplaying has:menciones

has:media Twitter Hace coincidir los Tweets que contienen un objeto multimedia, como una foto, un GIF o un video, según lo determine Twitter. Esto no coincidirá con los medios creados con Periscope o los Tweets con enlaces a otros sitios de alojamiento de medios.

Ejemplo: (gatitos OR cachorros) has:media

has:images Twitter Hace coincidir los Tweets que contienen una URL reconocida con una imagen.

Ejemplo: #meme has:images

has:videos Twitter Coincide con Tweets que contienen videos nativos de Twitter, subidos directamente a Twitter. Esto no coincidirá con videos creados con Periscope o Tweets con enlaces a otros sitios de alojamiento de videos.

Ejemplo: #icebucketchallenge has:videos

has:geo Twitter Avanzado Coincide con Tweets que tienen datos de geolocalización específicos de Tweet proporcionados por el usuario de Twitter. Puede ser una ubicación en forma de un lugar de Twitter, con el nombre para mostrar, el polígono geográfico y otros campos correspondientes, o en casos excepcionales, una coordenada geográfica de latitud y longitud.

Nota: Los operadores que coinciden en el lugar (geografía del tweet) solo incluirán coincidencias de los tweets originales. Los retweets no contienen ningún dato de lugar.

Ejemplo: recomendar #paris has:geo -bakery

lang: General Coincide con Tweets que han sido clasificados por Twitter como pertenecientes a un idioma en particular (si, y solo si, el Tweet ha sido clasificado). Es importante tener en cuenta que, actualmente, cada Tweet solo se clasifica como perteneciente a un idioma, por lo que unir varios idiomas con AND no arrojará ningún resultado.

Solo puede pasar un único identificador de idioma BCP 47 por lang: operador.

Nota: si no se puede realizar una clasificación de idioma, el resultado proporcionado es 'und' (para indefinido).

Ejemplo: recomendar #paris lang:en

La siguiente lista representa los idiomas admitidos actualmente y su identificador de idioma BCP 47 correspondiente:

Amárico: am Alemán: de Malayalam: ml Eslovaco: sk
Árabe: ar Griego: el Maldivo: dv Esloveno: sl
Armenio: hy Guyaratí: gu Marathi: mr Sorani kurdo: ckb
Euskera: eu Criollo haitiano: ht Nepalí: ne Español: es
Bengalí: bn Hebreo: iw Noruego: no Sueco: sv
Bosnio: bs Hindi: hi Oriya: o Tagalo: tl
Búlgaro: bg Hindi latinizado: hi-Latn Panyabí: pa Tamil: ta
Birmano: mi Húngaro: hu Pastún: pd Telugu: te
Croata: hr Islandés: es Persa: fa Tailandés: th
Catalán: ca Indonesio: en Polaco: pl Tibetano: bo
Checo: cs Italiano: it Portugués: pt Chino tradicional: zh-TW
Danés: da Japonés: ja Rumano: ro Turco: tr
Holandés: nl Canarés: kn Ruso: ru Ucraniano:uk
Inglés: en Jemer: km Serbio: sr Urdu: tu
Estonio: et Coreano: ko Chino simplificado: zh-CN Uigur: ug
Finlandés: fi Lao: lo Sindhi: sd Vietnamita: vi
Francés: fr Letón: lv Cingalés: si Galés: cy
Georgiano: ka Lituano: lt
No hay categorías asignadasEditar