Understanding UCS in Google Data Store Search (Dialogflow CX / Vertex AI) – What is it and how does it work?

Hello everyone,

I’m trying to better understand how the Data Store tool works in Dialogflow CX (or Vertex AI Agent Builder), and I ran into something I couldn’t find clear documentation about.

Here’s my setup:

  • I configured a data store using multiple .txt files

  • Each file contains a question-and-answer pair

  • I’m sending queries to my agent using the Dialogflow CX Node.js client

  • While analyzing the logs, I noticed some internal steps related to search and tool execution

During this process, I found references to “UCS”, which I don’t fully understand.

Here’s a snippet from my logs:

"name": "Query rewrite",
"responses": [
  {
    "text": "como participar do sorteio"
  }
],
"status": {
  "code": "OK"
},
...
{
  "name": "Call Search [log search request parameters]",
  "info": "pageSize: 20, ucsFilter: unset, boostSpec: unset, searchResultMode: DOCUMENTS, maxExtractiveAnswerCount: 5..."
},
{
  "name": "Call Search with rewritten query [unstructured documents]",
  "responses": [
    {
      "text": "Ucs content search result with 1 answers, 0 segments",
      "document": "projects/.../documents/...",
      "debugId": "..."
    }
  ]
}

So I have a few questions:

  1. What exactly is “UCS” in Google’s search/data store context?

    • What does it stand for?

    • How does it work internally during retrieval?

  2. Since searchResultMode is set to DOCUMENTS (because I uploaded unstructured .txt files):

    • What is the difference between DOCUMENTS vs CHUNKS/SEGMENTS during retrieval?

    • Is there a best practice for structuring data (full documents vs pre-chunked content)?

  3. How deep can we go in understanding this mechanism?

    • Is there any official documentation explaining query rewrite, ranking, UCS, or retrieval steps in more detail?

Any clarification or pointers to documentation would be greatly appreciated.

Thanks in advance!

1 Like