PT EN
Back to site

Search

Finding one piece of information in an archive of millions of documents used to require guesswork: the exact word, the right filter, several attempts. In DATTA's Search you ask in Portuguese, as you would ask a colleague — and receive, on the same screen, the answer written by the AI and the documents that support it, side by side. No more switching between "chat on one side, search on the other".

Where it lives today: everyday search is embedded in Chat (side menu). The "Busca" entry that existed in the Descobrir (Discover) section was removed on 2026-05-31; the dedicated page keeps working via direct URL (deeplink) — useful for bookmarks and shared links.


ScenarioDoes Search answer it?
"How does intercurrent prescription work?"Yes — the AI explains + supporting documents
"Show STJ rulings on art. 924 of the CPC"Yes — ranked case-law list
"I need a revenue dashboard"No — use DATTA BI
"I want to run an ETL pipeline"No — use DATTA Extract
"Analyze data statistically with R"No — use the Notebook

Search is for exploratory questions about content (legislation, case law, cases, regulations, documents). To create artifacts — dashboards, pipelines, notebooks — use the specialized copilots.


How to use it

For everyday use, go to Chat in the side menu — it covers AI-powered search with documents. The dedicated page opens via direct URL: https://<your-domain>/search-hybrid.html (or, inside the shell, https://<your-domain>/index.html?view=search-hybrid, with the breadcrumb DATTA › Descobrir › Busca).

2. Type the question

The field accepts any question in Portuguese. The placeholder "Como posso ajudar?" signals that you do not need to format anything.

Examples:

  • prescricao intercorrente execucao fiscal
  • Qual o prazo para embargos de declaracao?
  • Empresas com socio em comum com CNPJ 12.345.678/0001-90
  • Decisoes do STJ sobre tutela de urgencia em ambito tributario

Click Buscar or press Enter.

3. Read the AI answer

Right below the field, the Resposta da IA (AI answer) card appears:

  • The text shows up gradually, in real time, while the AI writes.
  • By default the answer is visually truncated after a few lines, with a "fade" effect.
  • Click Continuar... to expand the full answer on the same page.
  • Click Abrir no chat completo to continue the conversation interactively in the traditional chat.

4. Explore the documents

Below the answer, the Documentos relevantes (relevant documents) list appears, paginated 10 at a time. Each item shows:

  • The document title (e.g. "STJ — REsp 1.234.567/SP — Prescrição...")
  • The source (STJ, CPC, LEF, ...)
  • The relevance score
  • Ranks from each algorithm: BM25, kNN and Graph (when applicable)
  • The excerpt with the search terms highlighted in yellow

5. Open a document

Click any document card. A side panel slides in from the right with:

  • The breadcrumb Busca › <document title>
  • The relevant excerpt that produced the result
  • The Mostrar documento completo button — the full text appears, reconstructed from the indexed excerpts

To close it: press ESC, click the panel's X, or click outside it.


How search works under the hood

Your question triggers two paths in parallel:

  1. The AI answer — a language model writes a synthesis in Portuguese, with sources cited, and streams the text in real time.
  2. Hybrid text search — three ranking strategies combined:
    • BM25 — literal text matching;
    • Semantic kNN — similarity of meaning through vectors, generated by the platform's active embedding model;
    • Graph — the document's connections to the rest of the base in the graph.

The three rankings are fused by 3-way RRF (Reciprocal Rank Fusion): each document gets a scale-invariant final score. The waiting window is a few seconds — if one of the paths is slow, you keep seeing the other one load, and the screen never sits blank waiting for the slowest.

The same capabilities are available for integration: the platform exposes a hybrid search endpoint and a streaming AI answer endpoint — see the API reference. Technical details of the ranking fusion are in quill-search-suggest, section "RRF 3-way real".


Useful shortcuts

ShortcutAction
Enter in the search fieldRuns the search
ESC in the document panelCloses the panel
Click a document cardOpens the detail panel
Tab + Enter on the cardOpens the panel from the keyboard (accessibility)

Limits and expectations

  • Volume: pagination 10 items at a time. For more precise results, refine the question — include the court, the year, the article.
  • Speed: p95 under 500 ms for the BM25 + kNN part; the AI answer depends on the model configured in the platform (local vLLM Qwen3/DeepSeek, or Gemini as the alternative).
  • Freshness: Search uses live OpenSearch indices — new documents become searchable as soon as they are ingested and catalogued automatically, with no manual reindexing.
  • Privacy: all searching happens inside your own infrastructure. No data leaves the datacenter — including the question sent to the AI, which is processed by the local model when it is configured.

When something does not work

SymptomLikely causeWhat to do
"Nenhum documento encontrado" (no documents found)Term too specific or not indexedRephrase or broaden the scope
Empty AI answer + ":("AI model temporarily unavailableTry again in 30 s; the notice comes in Portuguese
Full document with no contentDocument with no traceable excerptAsk the administrator for a reindexing
Session expiring all the timeBrowser session failureReport it — fixed on 2026-05-26

Search in Chat — cards, anchor page and conversation mode

Since 2026-05-28, the main Chat displays search results as structured cards next to the AI answer — the same experience as the Search page, now integrated into the conversation.

When the cards appear

The chat automatically detects when the question asks for a listing:

  • Imperative verbs: "liste", "mostre", "exiba", "apresente", "me dê", "quais são", "todos os" / "todas as", "relacione".
  • Searches by entity or case (e.g. liste informacoes da Maria, processos do CNPJ 12.345.678/0001-90) always activate cards.

Conversational questions (ola, explique o art. 924) keep the inline answer, without cards.

Anchor page (default)

When you send a listing question, the screen works as a results page:

  • The cards appear above the answer as soon as the platform finds the records — even before the AI text finishes arriving.
  • Each card shows title, excerpt, source (Neo4j, OpenSearch, Trino/JDBC) and score.
  • Long AI answers stay compacted: a preview with a fade effect and the Expandir resposta completa button. Compaction applies from the start of the stream — the bubble does not "jump" when the answer finishes.

Details of a result

Click any card: a panel opens with the key-value table of all the record's properties (name, CPF, address, etc.), with labels in Portuguese. When the result is a textual document, the Abrir documento completo button leads to the full text.

Conversation mode

Click Expandir resposta completa to enter conversation mode, geared toward reading and focused dialogue with the AI:

  • All long answers show their full content.
  • The cards disappear to keep the focus on the text.
  • A discreet banner at the top offers ← Voltar à página de resultados, which restores the cards and the compacted previews.
ActionResult
Listing questionCards + AI preview (anchor page)
Click a cardPanel with the record's properties
Expandir resposta completaConversation mode (cards hidden, full text)
← Voltar à página de resultadosAnchor page restored

Workspace in the composer — and the history sections

Next to the context indicator there is the workspace selector. They are two distinct controls, and the difference matters:

WorkspaceContext
What it doesgroups the history into sections and filters which panels appeardefines which bases the AI draws the answer from
Where it isselector to the left of the composerindicator next to it

The two do not cascade: you can have an active workspace and still search a context outside it.

The history is sectioned by workspace, with the active one first. A conversation keeps the workspace it was born in and does not change section later — switching workspace changes which sections you see, not whose the conversations are. Conversations created outside a workspace, and every one from before this change, sit under Sem workspace.

Switching the workspace here is the same as switching it from the side menu: it holds for the whole platform.

Conversation history

The history panel is open by default — it is where a new conversation is created, and hiding it hid the button. If you minimize it, the choice is kept in the browser and holds on later visits.

Each conversation has a menu (appears on hover) with two options:

  • Renomear — opens a field with the current title already selected. Enter saves, Esc cancels.
  • Excluir — asks for confirmation: "Deseja excluir esta conversa? Esta ação não pode ser desfeita."

The dialogs do not close on an outside click, deliberately: deleting is irreversible, and renaming would lose what you typed. Esc cancels either one.

The title is generated automatically once the first answer finishes — before that, and whenever generation fails, the beginning of your question stands in. It is written once: if you rename it, the platform does not overwrite you.

Nova conversa with a conversation in progress also asks first — and the copy says what matters: the current conversation is not lost, it stays in the history.

Side panel — panels and graph as tabs

The Chat opens a panel on the right for what needs to be seen beside the conversation, not instead of it. The panel has a tab bar: each thing you open becomes a tab, and the tabs coexist.

How to open itTab created
Painéis, in the composer areaPainéis — the list of panels you can access; picking one opens it right there
Explorar dados desta resposta, on an AI answerGrafo — the entities and links of that answer

What the panel does:

  • Each tab closes on its own through its ×; the × at the top closes the whole panel.
  • The width is adjustable: drag the panel's left edge. The measure is kept in the browser and comes back next time.
  • Expand (the outward-arrows icon at the top) makes the panel take the whole screen, hiding the conversation and the history; the same button collapses it. Esc collapses the expansion and, on an already collapsed panel, closes it.
  • The panel belongs to the conversation: it closes when you switch conversations in the history or start a new one. Keeping it open would leave one conversation's graph next to another conversation's messages.

The graph used to be a window covering the whole screen — reading the answer and exploring the links were two things that did not fit together. As a tab, both are visible at once; when the graph needs room, the expand button gives the full screen back.

On mobile the panel covers the screen, like any drawer: there is no column to split at that width.

Where the results come from

Entity search queries all sources in parallel: the graph databases of the registered contexts (resolved dynamically from configuration, never hardcoded), the domain document indices, and the connected database agents. The platform's internal data — telemetry, audit, permissions — is excluded automatically.

Context selector — choose what the search considers

At the top of the screen, the Contextos selector lists every context registered on the platform, each with its connection status and a toggle to enable or disable that context in search:

  • A disabled context is fully removed from search: its graph, documents and indices are not queried on any route — neither in targeted search, nor in the cross-context sweep, nor in the card results page.
  • If a question points to a disabled context, search continues on the active contexts only — no error is returned. The assistant is also instructed not to answer from its own knowledge about the disabled context's content: instead of reciting the information, it tells you the context is disabled and how to re-enable it.
  • When any context is disabled, the selector label shows the count (e.g. Contextos (3/5 ativos)).
  • Click the context name to open its configuration (as before); the toggle only affects search.

The selection is per user and saved on the platform (not in the browser): signing in on another machine keeps the same contexts on/off. A newly created context starts active. Unauthenticated users don't see the toggles — search considers everything.

Contexts in the composer — and automatic widening

The Contextos indicator sits next to the question field, not at the top of the screen: changing the scope affects the next question, so the filter lives next to the point of action. Clicking opens the list, each context has a checkbox, and the change applies immediately — there is no confirm button. The selection is the same one as the top selector: a per-user preference kept on the server.

A context is not a workspace. The workspace groups contexts, organizes the conversation history and filters which panels appear; the context is the AI's search scope. The two are independent: you can have an active workspace and still search a context outside it.

The Pesquisa / Investigação mode is gone. It used to be the analyst who signalled, through a button, that the question deserved sweeping every base — which required knowing that before asking. Now the search decides:

  • the question is answered in the context the platform identifies;
  • if there is no result there, the search widens on its own to the other contexts you have access to;
  • widening does not widen permission: a context you turned off, or one the workspace does not reach, stays out;
  • when the answer comes from another context, it says so — the scope change is never silent.

Workspace chat — search scoped to the workspace's contexts

Opening the Chat from a workspace's menu (the chat icon inside the workspace group in the side menu) takes you to a dedicated, scoped chat screen: every search considers only that workspace's contexts, not the general data of the home screen.

  • The Contextos indicator, in the composer area, shows how many of the workspace's contexts are in the search — e.g. Contextos 3/4 when one is off.

The chat learns from you

The chat uses your own history — never other users' — to improve answers:

  • Per-user memory: besides previous question/answer pairs, excerpts from old conversations that are semantically close to the current question enter the answer's context. The ongoing conversation is not duplicated, and another user's history never shows up.
  • Rate the answer: every assistant answer carries the useful / not useful actions (thumbs up/down — shown on hover over the message; always visible on mobile). The rating feeds the search learning loop, and "not useful" outweighs any automatic signal. Only the conversation's owner can rate it; a failed submission shows a notice and allows retrying.
  • Clicks personalize ranking: documents you opened in the results gain priority in your next answers — a personal signal, with a hash-protected identifier, that also applies to the card results page.
  • Corrections become query expansion: when you rephrase a question and the new wording works (or you mark "useful"), the platform learns the association — first for you, then for everyone.

Where to read more

  • Related pages: user's custom prompt · chat reasoning model
  • Ranking fusion architecture: quill-search-suggest; the chat behavior (listing mode, anchor page and conversation mode) is detailed in the chat architecture documentation.