{
  "schema_version": 2,
  "id": "develop/data-types/vector-sets/troubleshooting",
  "title": "Troubleshooting",
  "url": "https://redis.io/docs/latest/develop/data-types/vector-sets/troubleshooting/",
  "summary": "Diagnose and debug issues when working with Redis vector sets",
  "tags": [
    "docs",
    "develop",
    "stack",
    "rs",
    "rc",
    "oss",
    "kubernetes",
    "clients"
  ],
  "last_updated": "2026-09-10T15:45:48+01:00",
  "page_type": "content",
  "content_hash": "268c8953dd43d8c9d9c2fe7a76797fbed2b30461afc9882f6d6e505ea62289fe",
  "sections": [
    {
      "id": "common-challenges",
      "title": "Common challenges",
      "role": "overview",
      "text": "Vector sets are approximate by design. That makes debugging trickier than with exact match queries. This section helps you understand issues with recall, filtering, and graph structure."
    },
    {
      "id": "low-recall-or-missing-results",
      "title": "Low recall or missing results",
      "role": "content",
      "text": "If [`VSIM`](https://redis.io/docs/latest/commands/vsim) doesn't return expected items:\n\n- Increase the `EF` parameter:\n\n  [code example]\n\n- Check quantization mode. Binary quantization (`BIN`) trades accuracy for speed.\n- Use `TRUTH` to compare results against a linear scan:\n\n  [code example]\n\n  This gives you the most accurate results for validation, but it's slow."
    },
    {
      "id": "filtering-issues",
      "title": "Filtering issues",
      "role": "content",
      "text": "Filters silently exclude items if:\n\n- A field is missing from the element’s attributes\n- The JSON is invalid\n- A type doesn’t match the expression (for example, `.rating > 8` when `.rating` is a string)\n\nTry retrieving the attributes with [`VGETATTR`](https://redis.io/docs/latest/commands/vgetattr):\n\n[code example]\n\nDouble-check field names, JSON validity, and value types."
    },
    {
      "id": "unexpected-memory-usage",
      "title": "Unexpected memory usage",
      "role": "content",
      "text": "Memory issues may arise from:\n\n- Large vectors (use `REDUCE` to project down)\n- High `M` values inflating link graphs\n- Large or deeply nested JSON attributes\n- Storing raw `FP32` vectors (`NOQUANT`)\n\nUse default `Q8` quantization and compact attributes to save space."
    },
    {
      "id": "inspecting-the-graph",
      "title": "Inspecting the graph",
      "role": "content",
      "text": "Use [`VLINKS`](https://redis.io/docs/latest/commands/vlinks) to examine a node’s connections:\n\n[code example]\n\n- Helps you verify whether isolated or weakly connected nodes exist.\n- Useful for explaining poor recall."
    },
    {
      "id": "deletion-spikes",
      "title": "Deletion spikes",
      "role": "content",
      "text": "Large sets deleted using the `DEL` command can briefly spike latency as Redis reclaims memory and rebuilds HNSW linkages."
    },
    {
      "id": "replication-quirks",
      "title": "Replication quirks",
      "role": "content",
      "text": "- `VADD` with `REDUCE` does not replicate the random projection matrix.\n- Replicas will produce different projected vectors for the same inputs.\n\nThis doesn't affect similarity searches but does affect [`VEMB`](https://redis.io/docs/latest/commands/vemb) output."
    },
    {
      "id": "summary",
      "title": "Summary",
      "role": "content",
      "text": "| Symptom                          | Try this                                                  |\n|----------------------------------|-----------------------------------------------------------|\n| Poor recall                      | Use higher `EF`, check quantization, use `TRUTH`          |\n| Filters exclude too much         | Validate attributes with `VGETATTR`, simplify expressions |\n| Memory spikes                    | Use `REDUCE`, `Q8`, smaller `M`, compact JSON             |\n| Replication mismatch with REDUCE | Avoid relying on projected vectors from replicas          |"
    },
    {
      "id": "see-also",
      "title": "See also",
      "role": "related",
      "text": "- [Filtered Search](https://redis.io/docs/latest/develop/data-types/vector-sets/filtered-search)\n- [Memory Usage](https://redis.io/docs/latest/develop/data-types/vector-sets/memory)\n- [Performance](https://redis.io/docs/latest/develop/data-types/vector-sets/performance)"
    }
  ],
  "examples": [
    {
      "id": "low-recall-or-missing-results-ex0",
      "language": "bash",
      "code": "VSIM myset VALUES 3 ... COUNT 10 EF 1000",
      "section_id": "low-recall-or-missing-results"
    },
    {
      "id": "low-recall-or-missing-results-ex1",
      "language": "bash",
      "code": "VSIM myset VALUES 3 ... COUNT 10 TRUTH",
      "section_id": "low-recall-or-missing-results"
    },
    {
      "id": "filtering-issues-ex0",
      "language": "bash",
      "code": "VGETATTR myset myelement",
      "section_id": "filtering-issues"
    },
    {
      "id": "inspecting-the-graph-ex0",
      "language": "bash",
      "code": "VLINKS myset myelement WITHSCORES",
      "section_id": "inspecting-the-graph"
    }
  ]
}
