Skip to main content
Os endpoints do filtered stream entregam Posts que correspondem a um conjunto de regras aplicadas ao stream. As regras são compostas por operadores que correspondem a diversos atributos de Post. Múltiplas regras podem ser aplicadas usando o endpoint POST /tweets/search/stream/rules. Uma vez que você tenha adicionado regras e se conectado usando GET /tweets/search/stream, apenas Posts que correspondam às suas regras serão entregues. Você não precisa se desconectar para adicionar ou remover regras.

Limitações de regras

Os limites de número de regras dependem do seu nível de acesso. Consulte a introdução do filtered stream para limites específicos.

Tipos de operador: independentes e que exigem conjunção

Operadores independentes podem ser usados sozinhos ou junto com quaisquer outros operadores (incluindo os que exigem conjunção). Por exemplo, esta regra funciona porque #hashtag é um operador independente:
Operadores que exigem conjunção não podem ser usados sozinhos em uma regra; só podem ser usados quando pelo menos um operador independente estiver incluído. Isso ocorre porque usar esses operadores sozinhos corresponderia a um volume extremamente alto de Posts. Por exemplo, as seguintes regras não são suportadas, pois contêm apenas operadores que exigem conjunção:
Se adicionarmos um operador independente, como a frase "X data", a regra funciona corretamente:
O operador embedding_threshold: (usado com regras semânticas embedding:) também exige conjunção.

Operadores booleanos e agrupamento

Combine múltiplos operadores usando estas ferramentas:
Uma nota sobre negações
  • Todos os operadores podem ser negados, exceto sample: e embedding:
  • O operador -is:nullcast deve sempre ser negado
  • Operadores negados não podem ser usados sozinhos
  • Não negue operadores agrupados. Em vez de skiing -(snow OR day OR noschool), use skiing -snow -day -noschool
  • Escrever -embedding:"query" não é suportado

Ordem das operações

Ao combinar AND e OR:
  1. Operadores conectados por lógica AND são combinados primeiro
  2. Em seguida, operadores conectados com lógica OR são aplicados
Exemplos: Para eliminar incertezas, use parênteses:

Pontuação, diacríticos e sensibilidade a maiúsculas/minúsculas

Diacríticos: Regras do filtered stream com acentos correspondem apenas a Posts que também incluam o acento. Por exemplo, diacrítica corresponde a diacrítica mas não a diacritica. Sensibilidade a maiúsculas/minúsculas: Todos os operadores são insensíveis a maiúsculas/minúsculas. A regra cat corresponde a cat, CAT e Cat.
Search Posts se comporta de forma diferenteAo criar queries de busca, palavras-chave com acentos correspondem tanto a Posts com quanto sem os acentos. Por exemplo, Diacrítica corresponde tanto a Diacrítica quanto a Diacritica.

Correspondência de Quote Tweet

Ao usar filtered stream, os operadores correspondem tanto ao conteúdo do Quote Tweet quanto ao conteúdo do Post original que foi citado.
Search Posts se comporta de forma diferente — corresponde apenas ao conteúdo do Quote Tweet, não ao do Post original.

Especificidade e eficiência

Usar operadores amplos como uma única palavra-chave ou hashtag não é recomendado — isso corresponderá a um volume enorme de Posts e consumirá rapidamente sua conexão.
Dicas para criar regras eficazes:
  1. Comece específico e depois amplie — Crie regras direcionadas que retornem resultados relevantes
  2. Use múltiplos operadores — Combine operadores para restringir resultados
  3. Fique atento à contagem de caracteres — Toda a string da regra conta para o limite
Exemplo de progressão:

Construindo uma regra iterativamente

Passo 1: Comece com uma regra básica

Passo 2: Teste e refine com base nos resultados

Notamos Posts em vários idiomas. Adicione um filtro de idioma:
Estamos recebendo felicitações de aniversário. Exclua-as e os Retweets:

Passo 3: Amplie para melhor cobertura

Queremos capturar mais sentimento. Adicione palavras-chave relacionadas:

Passo 4: Ajuste para tendências

Posts de feriados estão aparecendo. Exclua-os:

Adicionando e removendo regras

Use POST /2/tweets/search/stream/rules para adicionar ou remover regras.

Adicionando regras

Envie um corpo JSON add com o value (a regra) e um tag opcional (para identificar os Posts correspondentes):

Removendo regras

Envie um corpo JSON delete com os IDs das regras a remover:

Exemplos de regras

Acompanhando um desastre natural

Corresponde a Posts de agências meteorológicas sobre o Furacão Harvey:

Análise de sentimento para #nowplaying

Sentimento positivo:
Sentimento negativo:

Usando Post annotations

Encontre Posts em japonês sobre pets (não gatos) com imagens usando o operador context:: Primeiro, use o Post lookup com tweet.fields=context_annotations para identificar IDs de domain.entity:
  • Gatos: domain 66, entity 852262932607926273
  • Pets: domain 65, entity 852262932607926273

Correspondência semântica com embeddings (Enterprise)

Use o operador embedding: para corresponder Posts pelo significado conceitual em vez de palavras-chave. Isso requer Enterprise + tier de Embedding.
Combine com operadores estruturais para maior precisão:
Consulte a referência de operadores para detalhes completos e melhores práticas.

Próximos passos

Referência de operadores

Lista completa dos operadores disponíveis

Quickstart do filtered stream

Conecte-se ao seu stream

Código de exemplo

Exemplos de código em várias linguagens