# For Creatives

### Criando campos para um data view

Vamos lá pessoa!&#x20;

Muitas vezes precisamos de um campo para representar uma informação extraída de outra, por exemplo, um expressão regular que retornar um verdadeiro ou false se determinada informação existir, uma computação para retornar um valor monetário ou número ou mesmo retornar um valor de uma URL.&#x20;

#### Desafio&#x20;

Neste post, o desafio será capturar uma informação de uma URL. Dado que temos o campo relative\_view e que esse campo contém o caminho relativo de uma página acessada em seu site, queremos capturar a informação que agrupa essas páginas em categoria.&#x20;

```
relative_view
/seguranca/mulher-que-foi-flagrada-andando-nua-na-br-280-tirou-a-roupa-em-centro-de-recreacao-infantil-em-jaragua-do-sul
```

{% hint style="info" %}

Lembre-se que é possível passar aos eventos do AgnosticData a variável event.content\_category. Essa variável é automaticamente preenchida sempre que existir em sua página o meta atributo "agnostic\_content\_category", conforme o exemplo a seguir onde temos a categoria "Hidráulica".&#x20;

````
// Some code
```html
<meta name="agnostic_content_category" 
content="Hidráulica" charset="UTF-8">
```
````

{% endhint %}

**Obs**: Aprenda mais sobre personalização de meta-tags para capturas automáticas [clicando aqui](/agnosticdata.ai-or-documentation/fundamentals/conceitos-tecnicos.md#id-2-personalizacao-comece-pelas-meta-tags).&#x20;

Dado que não vamos esperar a implementação da meta-tag em nossa página, podemos partir para um campo personalizado.&#x20;

**Passo 1: Acesso o painel discover no seu elasticsearch**

<figure><img src="/files/y6FD6JuQmwKXtMkGPemj" alt=""><figcaption></figcaption></figure>

**Passo 2: Vamos adicionar um novo campo**

Clique em "**Add a field to this data view**". Estamos utilizando o data view "events\_all", no seu caso podem existir outros. Sinta-se livre para escolher o data-view apropriado.&#x20;

{% hint style="warning" %}
Existem data views que são específicos de determinados eventos e os campos que o algoritmo necessita pode não existir, logo para evitar erros de campos runtime (ou campos em tempo de execução) é necessário colocar testes como no exemplo a seguir, por exemplo: containsKey e doc\['YOUR\_FIELD'].empty.

````javascript
```painless
if (doc.containsKey('relative_view.keyword') 
&& !doc['relative_view.keyword'].empty) 
```
````

{% endhint %}

<figure><img src="/files/rfJo5QK8fWzTYFOQWy9J" alt=""><figcaption></figcaption></figure>

**Passo 3: Implementar o código e contornar os erros (converse com o GPT)**

A dica é usar o prompt do ChatGPT para gerer esse código.&#x20;

{% hint style="success" %}
Você pode consultar uma consulta como essas diretamente no ChatGPT. Basta usar o prompt:&#x20;

*"Tenho um campo chamado **relative\_view** que contém links relativos, como /economia/brasil-registra-superavit-primario-positivo-pela-primeira-vez-desde-2013, onde economia é a categoria. Gostaria de **criar um script de runtime** no Elasticsearch que verifique se o campo **relative\_view*** ***existe** e, **se existir,** extraia e retorne a categoria, que é a primeira parte do caminho após a barra inicial.* Retorne apenas o código para copiar e colocar no input da interface, pois não foi usar o devtools.*"*
{% endhint %}

Dado que recebemos a resposta do chatGPT temos algo como a imagem a seguir onde em source temos o script que iremos copiar.&#x20;

<figure><img src="/files/hfy9Lvu6sKz4YBuVd1Pt" alt=""><figcaption></figcaption></figure>

Neste trecho, vamos selecionar tudo que está dentro de source, das aspas triplas (da imagem acima) e sem as aspas vamos colocar em **"Set Value"**.

<figure><img src="/files/eO0jAwLgG1taVm5KOyNA" alt=""><figcaption></figcaption></figure>

Ao final temos neste exemplo o campo **category\_content** como um campo adicional ao *data view* que contém apenas o conteúdo desejado para classificar as urls em categorias, neste exemplo.&#x20;

**Note:** ao verificar os dados percebemos que todas as urls de conteúdo são concebidas seguindo um mesmo padrão o que nos permitiu criar a instrução contemplada neste exemplo.&#x20;

**Passo 4: Gerar os insights com os gráficos.**&#x20;

<figure><img src="/files/lBzyuigQB5UyrUFUSnsW" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.agnosticdata.ai/agnosticdata.ai-or-documentation/use-cases/for-creatives.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
