Song Jong on Nostr: #tuxdobananil #explains #nips #nip-50 # Resumo do NIP-50 - Capacidade de Pesquisa ...
#tuxdobananil #explains #nips #nip-50
# Resumo do NIP-50 - Capacidade de Pesquisa 🔍
O NIP-50 introduz uma estrutura extensível para realizar buscas gerais dentro do protocolo Nostr, atendendo a diversas aplicações que necessitam de uma funcionalidade de busca além das consultas estruturadas por tags ou ids.
## Campo `search` em Mensagens `REQ`
Um novo campo `search` é adicionado às mensagens `REQ` dos clientes:
```json
{
...
"search": <string>
}
```
O campo `search` é uma string que descreve uma consulta em forma legível por humanos, por exemplo, "melhores apps nostr". Os relays DEVEM interpretar a consulta da melhor forma possível e retornar eventos que correspondam a ela. A busca DEVE ser realizada primariamente no campo `content` do evento, podendo também abranger outros campos se isso fizer sentido para um tipo específico de evento.
A string de consulta pode conter pares `chave:valor` (duas palavras separadas por dois pontos), que são extensões. Os relays DEVEM ignorar extensões que não suportam.
Os clientes podem especificar vários filtros de busca e incluir `kinds`, `ids` e outros campos de filtro para restringir os resultados da pesquisa a tipos específicos de eventos.
Os clientes DEVEM utilizar o campo `supported_nips` para verificar se um relay suporta o filtro `search`. Os clientes PODEM enviar consultas de filtro `search` para qualquer relay, desde que estejam preparados para filtrar respostas não relacionadas de relays que não suportam este NIP.
Os clientes DEVEM consultar vários relays que suportam este NIP para compensar as possíveis diferenças de implementação entre os relays.
Os clientes PODEM verificar se os eventos retornados por um relay correspondem à consulta especificada de uma maneira que se adeque ao caso de uso do cliente e PODEM parar de consultar relays que apresentem baixa precisão.
Os relays DEVEM excluir spam dos resultados de busca por padrão, caso suportem algum tipo de filtragem de spam.
## Extensões
Os relays PODEM suportar as seguintes extensões:
- `include:spam` - desativa a filtragem de spam, se estiver habilitada por padrão.
- `domain:<domain>` - inclui apenas eventos de usuários cujo domínio nip05 válido corresponda ao domínio especificado.
- `language:<código de idioma ISO 639-1 de duas letras>` - inclui apenas eventos em um idioma específico.
- `sentiment:<negative/neutral/positive>` - inclui apenas eventos de um sentimento específico.
- `nsfw:<true/false>` - inclui ou exclui eventos nsfw (padrão: true).
Este NIP fornece uma base para a implementação de funcionalidades de busca avançada no Nostr, permitindo que os usuários encontrem conteúdo relevante de maneira eficiente e flexível.
# Resumo do NIP-50 - Capacidade de Pesquisa 🔍
O NIP-50 introduz uma estrutura extensível para realizar buscas gerais dentro do protocolo Nostr, atendendo a diversas aplicações que necessitam de uma funcionalidade de busca além das consultas estruturadas por tags ou ids.
## Campo `search` em Mensagens `REQ`
Um novo campo `search` é adicionado às mensagens `REQ` dos clientes:
```json
{
...
"search": <string>
}
```
O campo `search` é uma string que descreve uma consulta em forma legível por humanos, por exemplo, "melhores apps nostr". Os relays DEVEM interpretar a consulta da melhor forma possível e retornar eventos que correspondam a ela. A busca DEVE ser realizada primariamente no campo `content` do evento, podendo também abranger outros campos se isso fizer sentido para um tipo específico de evento.
A string de consulta pode conter pares `chave:valor` (duas palavras separadas por dois pontos), que são extensões. Os relays DEVEM ignorar extensões que não suportam.
Os clientes podem especificar vários filtros de busca e incluir `kinds`, `ids` e outros campos de filtro para restringir os resultados da pesquisa a tipos específicos de eventos.
Os clientes DEVEM utilizar o campo `supported_nips` para verificar se um relay suporta o filtro `search`. Os clientes PODEM enviar consultas de filtro `search` para qualquer relay, desde que estejam preparados para filtrar respostas não relacionadas de relays que não suportam este NIP.
Os clientes DEVEM consultar vários relays que suportam este NIP para compensar as possíveis diferenças de implementação entre os relays.
Os clientes PODEM verificar se os eventos retornados por um relay correspondem à consulta especificada de uma maneira que se adeque ao caso de uso do cliente e PODEM parar de consultar relays que apresentem baixa precisão.
Os relays DEVEM excluir spam dos resultados de busca por padrão, caso suportem algum tipo de filtragem de spam.
## Extensões
Os relays PODEM suportar as seguintes extensões:
- `include:spam` - desativa a filtragem de spam, se estiver habilitada por padrão.
- `domain:<domain>` - inclui apenas eventos de usuários cujo domínio nip05 válido corresponda ao domínio especificado.
- `language:<código de idioma ISO 639-1 de duas letras>` - inclui apenas eventos em um idioma específico.
- `sentiment:<negative/neutral/positive>` - inclui apenas eventos de um sentimento específico.
- `nsfw:<true/false>` - inclui ou exclui eventos nsfw (padrão: true).
Este NIP fornece uma base para a implementação de funcionalidades de busca avançada no Nostr, permitindo que os usuários encontrem conteúdo relevante de maneira eficiente e flexível.