{"id":17979,"date":"2026-03-23T14:17:07","date_gmt":"2026-03-23T21:17:07","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=17979"},"modified":"2026-03-23T14:18:02","modified_gmt":"2026-03-23T21:18:02","slug":"filtered-ann-search-with-composite-vector-indexes-part-4","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/filtered-ann-search-with-composite-vector-indexes-part-4\/","title":{"rendered":"Pesquisa ANN filtrada com \u00edndices vetoriais compostos (Parte 4)"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Esta postagem \u00e9 a quarta parte de uma s\u00e9rie de v\u00e1rias partes que explora a indexa\u00e7\u00e3o de vetores compostos no Couchbase. Se voc\u00ea perdeu as postagens anteriores, n\u00e3o deixe de se atualizar em <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/filtered-ann-search-with-composite-vector-indexes\/\"><b>Parte 1<\/b><\/a><span style=\"font-weight: 400\">, <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/filtered-ann-search-with-composite-vector-indexes-2\/\"><b>Parte 2<\/b><\/a><span style=\"font-weight: 400\"> e <strong><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/filtered-ann-search-with-ive-composite-vector-indexes\/\">Parte 3<\/a><\/strong>.<\/span><\/p>\n<p>A s\u00e9rie abranger\u00e1:<\/p>\n<ol>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/filtered-ann-search-with-composite-vector-indexes\/\">Por que os \u00edndices vetoriais compostos s\u00e3o importantes, incluindo conceitos, terminologia e motiva\u00e7\u00e3o do desenvolvedor. Um sistema inteligente de recomenda\u00e7\u00e3o de compras ser\u00e1 usado como exemplo.<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/filtered-ann-search-with-composite-vector-indexes-2\/\">Como os \u00edndices de vetor composto s\u00e3o implementados no Servi\u00e7o de Indexa\u00e7\u00e3o do Couchbase.<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/filtered-ann-search-with-ive-composite-vector-indexes\/\">Como o pushdown ORDER BY funciona para consultas de vetor composto.<\/a><\/li>\n<li>Comportamento de desempenho no mundo real e resultados de benchmarking.<\/li>\n<\/ol>\n<h2><span style=\"font-weight: 400\">Parte 4: An\u00e1lise de desempenho de \u00edndices vetoriais compostos<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Os aplicativos ag\u00eanticos e as cargas de trabalho de IA exigem cada vez mais uma pesquisa vetorial eficiente. Os sistemas tradicionais de pesquisa de vizinho mais pr\u00f3ximo aproximado (ANN) podem ter dificuldades em escala, com desafios como consumo de mem\u00f3ria, tempos de cria\u00e7\u00e3o de \u00edndices e mecanismos de atualiza\u00e7\u00e3o em tempo real.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Os Composite Vector Indexes (CVI) foram projetados para cargas de trabalho ANN filtradas, em que os predicados escalares reduzem o conjunto de candidatos antes da pesquisa vetorial aproximada. Para cargas de trabalho puramente vetoriais em uma escala muito grande, o Couchbase tamb\u00e9m fornece Hyperscale Vector Indexes. Para conhecer as pr\u00e1ticas recomendadas, consulte nossa documenta\u00e7\u00e3o <a href=\"https:\/\/docs.couchbase.com\/server\/current\/vector-index\/vectors-and-indexes-overview.html\">aqui<\/a>.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Esta postagem se concentra no comportamento de desempenho dos Composite Vector Indexes para cargas de trabalho ANN filtradas. Com base nos conceitos e no modelo de execu\u00e7\u00e3o apresentados nas Partes 1 a 3, analisamos agora como a taxa de transfer\u00eancia e a lat\u00eancia do p95 mudam \u00e0 medida que a seletividade escalar varia em conjuntos de dados de grande escala.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Nesta postagem, a seletividade % refere-se \u00e0 quantidade do conjunto de dados que permanece relevante depois que a parte escalar da consulta restringe o espa\u00e7o de pesquisa. Uma seletividade mais baixa significa que uma fatia mais estreita do conjunto de dados se qualifica, o que, por sua vez, reduz a quantidade de trabalho vetorial que o sistema deve realizar.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Desempenho de constru\u00e7\u00e3o<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Em um benchmark de constru\u00e7\u00e3o interna, o CVI conseguiu criar um \u00edndice em 1 bilh\u00e3o de vetores de 128 dimens\u00f5es em 7 horas. Isso demonstra a arquitetura de indexa\u00e7\u00e3o e o uso de hardware moderno.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">O desempenho da constru\u00e7\u00e3o foi medido na seguinte infraestrutura:<\/span><\/p>\n<p><b>Processador:<\/b><span style=\"font-weight: 400\"> AMD-EPYC-7643 de 32 n\u00facleos<\/span><\/p>\n<p><b>Mem\u00f3ria:<\/b><span style=\"font-weight: 400\"> 128 GB DE RAM<\/span><\/p>\n<p><b>Armazenamento:<\/b><span style=\"font-weight: 400\"> SSD empresarial Samsung PM1743 de 15,36 TB<\/span><\/p>\n<p><b>Conjunto de dados:<\/b><span style=\"font-weight: 400\"> Dados de refer\u00eancia SIFT<\/span><\/p>\n<p><span style=\"font-weight: 400\">Isso mostra que a indexa\u00e7\u00e3o de bilh\u00f5es de vetores para cargas de trabalho de produ\u00e7\u00e3o \u00e9 pr\u00e1tica.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Desempenho da consulta: Velocidade e precis\u00e3o combinadas<\/span><\/h3>\n<p><span style=\"font-weight: 400\">O CVI oferece desempenho de consulta com alta recupera\u00e7\u00e3o. Usando o conjunto de dados 100M SIFT com quantiza\u00e7\u00e3o SQ8 e um campo escalar principal, o CVI alcan\u00e7ou 75% recall@10 em v\u00e1rias porcentagens de seletividade, com caracter\u00edsticas medidas de rendimento e lat\u00eancia.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">O rendimento melhora \u00e0 medida que a seletividade diminui<\/span><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17980\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-23-at-2.09.37-PM.png\" alt=\"\" width=\"1160\" height=\"730\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-23-at-2.09.37-PM.png 1160w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-23-at-2.09.37-PM-300x189.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-23-at-2.09.37-PM-1024x644.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-23-at-2.09.37-PM-768x483.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-23-at-2.09.37-PM-18x12.png 18w\" sizes=\"auto, (max-width: 1160px) 100vw, 1160px\" \/><\/p>\n<p><span style=\"font-weight: 400\">As curvas de taxa de transfer\u00eancia e lat\u00eancia contam a mesma hist\u00f3ria de dois \u00e2ngulos. Restri\u00e7\u00f5es escalares mais estreitas reduzem a quantidade de trabalho que flui pelo caminho de execu\u00e7\u00e3o, o que melhora a taxa de transfer\u00eancia do sistema e o comportamento da cauda. Para aplicativos que naturalmente incluem restri\u00e7\u00f5es r\u00edgidas, como categoria, marca, locat\u00e1rio, regi\u00e3o, idioma ou limite de conformidade, esse comportamento \u00e9 exatamente o ponto em que os Composite Vector Indexes se tornam atraentes.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Configura\u00e7\u00e3o de teste<\/span><\/h3>\n<h4><span style=\"font-weight: 400\">Defini\u00e7\u00e3o<\/span><\/h4>\n<pre class=\"lang:default decode:true\">CREATE INDEX `vector-idx` on `bucket-1`.`_default`.`_default` (scalar, emb Vector) WITH {'dimension':128, 'similarity':'L2', 'description':'IVF,SQ8'}\r\n<\/pre>\n<h4><span style=\"font-weight: 400\">Consulta<\/span><\/h4>\n<pre class=\"lang:default decode:true\">SELECT meta().id FROM `bucket-1`.`_default`.`_default`\r\nWHERE scalar = 'eligible'\r\nORDER BY ANN_DISTANCE(emb, , 'L2', )\r\nLIMIT 10\r\n<\/pre>\n<p><span style=\"font-weight: 400\">The `scalar` field is populated in the data as needed for the selectivity and &lt;nprobes&gt; is adjusted to get expected recall.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Por que as curvas s\u00e3o assim<\/span><\/h2>\n<p><span style=\"font-weight: 400\">O desempenho do CVI \u00e9 influenciado por v\u00e1rios recursos arquitet\u00f4nicos:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Varredura com reconhecimento de pedidos<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">O CVI usa um pipeline de varredura com reconhecimento de ordem que aproveita predicados escalares combinados com pesquisa de similaridade de vetores, permitindo padr\u00f5es de acesso eficientes e minimizando as opera\u00e7\u00f5es de E\/S.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Arquitetura de processamento paralelo<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">O sistema usa paralelismo entre os centroides, permitindo que v\u00e1rios operadores de varredura operem simultaneamente em diferentes parti\u00e7\u00f5es do espa\u00e7o vetorial.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Computa\u00e7\u00e3o de dist\u00e2ncia acelerada por SIMD<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">O CVI usa opera\u00e7\u00f5es SIMD por meio da biblioteca FAISS para acelerar as avalia\u00e7\u00f5es de similaridade e minimizar a sobrecarga computacional.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Camada de roteamento HNSW<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A camada de roteamento Hierarchical Navigable Small World (HNSW) permite a identifica\u00e7\u00e3o de centroides relevantes, reduzindo o espa\u00e7o de pesquisa.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2><span style=\"font-weight: 400\">Exemplos de aplicativos<\/span><\/h2>\n<p><span style=\"font-weight: 400\">As caracter\u00edsticas de desempenho do CVI s\u00e3o aplic\u00e1veis a uma s\u00e9rie de casos de uso:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Com\u00e9rcio eletr\u00f4nico e recomenda\u00e7\u00f5es de produtos<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Pesquisa de similaridade de produtos com filtros de pre\u00e7o, marca e categoria<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Descoberta e pesquisa de conte\u00fado<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Pesquisa de similaridade de documentos e m\u00eddias com restri\u00e7\u00f5es de metadados<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Detec\u00e7\u00e3o de fraudes e avalia\u00e7\u00e3o de riscos<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Detec\u00e7\u00e3o de anomalias em padr\u00f5es de transa\u00e7\u00f5es com restri\u00e7\u00f5es temporais<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Marketing personalizado<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Segmenta\u00e7\u00e3o de clientes e recomenda\u00e7\u00f5es direcionadas<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2><span style=\"font-weight: 400\">Conclus\u00e3o<\/span><\/h2>\n<p><span style=\"font-weight: 400\">As tr\u00eas primeiras partes desta s\u00e9rie explicaram por que os Composite Vector Indexes s\u00e3o importantes, como eles s\u00e3o implementados e como permitem o pushdown flex\u00edvel de ORDER BY para consultas mistas de escalar e vetor. Esta \u00faltima parte mostra o retorno de desempenho desse design.<\/span><\/p>\n<p><span style=\"font-weight: 400\">No benchmark 100M SIFT com quantiza\u00e7\u00e3o SQ8, a taxa de transfer\u00eancia aumentou de 800 QPS com seletividade 100% para 2853 QPS com seletividade 1%, enquanto a lat\u00eancia p95 melhorou de 66 ms para 17 ms. Em um benchmark de compila\u00e7\u00e3o interna separado, o Composite Vector Indexes criou um \u00edndice de mais de 1 bilh\u00e3o de vetores de 128 dimens\u00f5es em cerca de 7 horas em um hardware de servidor de commodity moderno.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Para cargas de trabalho ANN filtradas, essa \u00e9 a principal proposta de valor dos Composite Vector Indexes: eles permitem que os aplicativos combinem restri\u00e7\u00f5es escalares e similaridade sem\u00e2ntica em uma \u00fanica estrutura de \u00edndice e, ao mesmo tempo, ofere\u00e7am alta taxa de transfer\u00eancia e baixa lat\u00eancia de cauda em escala.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>This post is the fourth part of a multi-part series exploring composite vector indexing in Couchbase. If you missed the previous posts, be sure to catch up on Part 1, Part 2 and Part 3. The series will cover: Why [&hellip;]<\/p>\n","protected":false},"author":85690,"featured_media":17981,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[9937],"tags":[],"ppma_author":[10168],"class_list":["post-17979","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vector-search"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Filtered ANN Search With Composite Vector Indexes (Part 4) - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/filtered-ann-search-with-composite-vector-indexes-part-4\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Filtered ANN Search With Composite Vector Indexes (Part 4)\" \/>\n<meta property=\"og:description\" content=\"This post is the fourth part of a multi-part series exploring composite vector indexing in Couchbase. If you missed the previous posts, be sure to catch up on Part 1, Part 2 and Part 3. The series will cover: Why [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/filtered-ann-search-with-composite-vector-indexes-part-4\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-23T21:17:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-23T21:18:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Filtered-ANN-Search-With-Composite-Vector-Indexes-3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sai Kommaraju, Senior Software Engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sai Kommaraju, Senior Software Engineer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/\"},\"author\":{\"name\":\"Sai Kommaraju, Senior Software Engineer\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/8fb575d74280ff3d0f044904277a8076\"},\"headline\":\"Filtered ANN Search With Composite Vector Indexes (Part 4)\",\"datePublished\":\"2026-03-23T21:17:07+00:00\",\"dateModified\":\"2026-03-23T21:18:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/\"},\"wordCount\":758,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2026\\\/03\\\/Filtered-ANN-Search-With-Composite-Vector-Indexes-3.png\",\"articleSection\":[\"Vector Search\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/\",\"name\":\"Filtered ANN Search With Composite Vector Indexes (Part 4) - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2026\\\/03\\\/Filtered-ANN-Search-With-Composite-Vector-Indexes-3.png\",\"datePublished\":\"2026-03-23T21:17:07+00:00\",\"dateModified\":\"2026-03-23T21:18:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2026\\\/03\\\/Filtered-ANN-Search-With-Composite-Vector-Indexes-3.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2026\\\/03\\\/Filtered-ANN-Search-With-Composite-Vector-Indexes-3.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Filtered ANN Search With Composite Vector Indexes (Part 4)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/8fb575d74280ff3d0f044904277a8076\",\"name\":\"Sai Kommaraju, Senior Software Engineer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2026\\\/01\\\/Sai-Kommaraju.jpega2ca26c70968f44d876aa239d293a709\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2026\\\/01\\\/Sai-Kommaraju.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2026\\\/01\\\/Sai-Kommaraju.jpeg\",\"caption\":\"Sai Kommaraju, Senior Software Engineer\"},\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/pt\\\/author\\\/saikommaraju\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Filtered ANN Search With Composite Vector Indexes (Part 4) - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/filtered-ann-search-with-composite-vector-indexes-part-4\/","og_locale":"pt_BR","og_type":"article","og_title":"Filtered ANN Search With Composite Vector Indexes (Part 4)","og_description":"This post is the fourth part of a multi-part series exploring composite vector indexing in Couchbase. If you missed the previous posts, be sure to catch up on Part 1, Part 2 and Part 3. The series will cover: Why [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/filtered-ann-search-with-composite-vector-indexes-part-4\/","og_site_name":"The Couchbase Blog","article_published_time":"2026-03-23T21:17:07+00:00","article_modified_time":"2026-03-23T21:18:02+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Filtered-ANN-Search-With-Composite-Vector-Indexes-3.png","type":"image\/png"}],"author":"Sai Kommaraju, Senior Software Engineer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Sai Kommaraju, Senior Software Engineer","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/"},"author":{"name":"Sai Kommaraju, Senior Software Engineer","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/8fb575d74280ff3d0f044904277a8076"},"headline":"Filtered ANN Search With Composite Vector Indexes (Part 4)","datePublished":"2026-03-23T21:17:07+00:00","dateModified":"2026-03-23T21:18:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/"},"wordCount":758,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Filtered-ANN-Search-With-Composite-Vector-Indexes-3.png","articleSection":["Vector Search"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/","url":"https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/","name":"Filtered ANN Search With Composite Vector Indexes (Part 4) - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Filtered-ANN-Search-With-Composite-Vector-Indexes-3.png","datePublished":"2026-03-23T21:17:07+00:00","dateModified":"2026-03-23T21:18:02+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Filtered-ANN-Search-With-Composite-Vector-Indexes-3.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Filtered-ANN-Search-With-Composite-Vector-Indexes-3.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Filtered ANN Search With Composite Vector Indexes (Part 4)"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/8fb575d74280ff3d0f044904277a8076","name":"Sai Kommaraju, engenheiro de software s\u00eanior","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/01\/Sai-Kommaraju.jpega2ca26c70968f44d876aa239d293a709","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/01\/Sai-Kommaraju.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/01\/Sai-Kommaraju.jpeg","caption":"Sai Kommaraju, Senior Software Engineer"},"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/saikommaraju\/"}]}},"acf":[],"authors":[{"term_id":10168,"user_id":85690,"is_guest":0,"slug":"saikommaraju","display_name":"Sai Kommaraju, Senior Software Engineer","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/01\/Sai-Kommaraju.jpeg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/01\/Sai-Kommaraju.jpeg"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/17979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/85690"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=17979"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/17979\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/17981"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=17979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=17979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=17979"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=17979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}