{"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\/es\/filtered-ann-search-with-composite-vector-indexes-part-4\/","title":{"rendered":"B\u00fasqueda con redes neuronales artificiales filtradas y \u00edndices vectoriales compuestos (Parte 4)"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Esta publicaci\u00f3n es la cuarta parte de una serie de varias entregas que explora la indexaci\u00f3n de vectores compuestos en Couchbase. Si te perdiste las publicaciones anteriores, aseg\u00farate de ponerte al d\u00eda en <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/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\/es\/filtered-ann-search-with-composite-vector-indexes-2\/\"><b>Parte 2<\/b><\/a><span style=\"font-weight: 400\"> y <strong><a href=\"https:\/\/www.couchbase.com\/blog\/es\/filtered-ann-search-with-ive-composite-vector-indexes\/\">Parte 3<\/a><\/strong>.<\/span><\/p>\n<p>La serie tratar\u00e1 los siguientes temas:<\/p>\n<ol>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/filtered-ann-search-with-composite-vector-indexes\/\">Por qu\u00e9 son importantes los \u00edndices vectoriales compuestos, incluyendo conceptos, terminolog\u00eda y motivaci\u00f3n de los desarrolladores. Se utilizar\u00e1 un sistema inteligente de recomendaci\u00f3n de productos alimenticios como ejemplo pr\u00e1ctico.<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/filtered-ann-search-with-composite-vector-indexes-2\/\">C\u00f3mo se implementan los \u00edndices vectoriales compuestos dentro del servicio de indexaci\u00f3n de Couchbase.<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/filtered-ann-search-with-ive-composite-vector-indexes\/\">C\u00f3mo funciona ORDER BY pushdown para consultas vectoriales compuestas.<\/a><\/li>\n<li>Comportamiento real y resultados de pruebas comparativas.<\/li>\n<\/ol>\n<h2><span style=\"font-weight: 400\">Parte 4: An\u00e1lisis de Rendimiento de \u00cdndices Vectoriales Compuestos<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Las aplicaciones agentivas y las cargas de trabajo de IA requieren cada vez m\u00e1s una b\u00fasqueda vectorial eficiente. Los sistemas tradicionales de b\u00fasqueda de vecinos m\u00e1s cercanos aproximados (ANN) pueden tener dificultades a escala, con desaf\u00edos como el consumo de memoria, los tiempos de compilaci\u00f3n del \u00edndice y los mecanismos de actualizaci\u00f3n en tiempo real.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Los \u00edndices vectoriales compuestos (CVI) est\u00e1n dise\u00f1ados para cargas de trabajo ANN filtradas, donde los predicados escalares reducen el conjunto de candidatos antes de la b\u00fasqueda vectorial aproximada. Para cargas de trabajo vectoriales puras a muy gran escala, Couchbase tambi\u00e9n proporciona \u00edndices vectoriales Hyperscale. Para conocer las mejores pr\u00e1cticas, consulte nuestra documentaci\u00f3n. <a href=\"https:\/\/docs.couchbase.com\/server\/current\/vector-index\/vectors-and-indexes-overview.html\">aqu\u00ed<\/a>.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Esta publicaci\u00f3n se centra en el comportamiento de rendimiento de los \u00edndices de vectores compuestos para cargas de trabajo ANN filtradas. Bas\u00e1ndonos en los conceptos y el modelo de ejecuci\u00f3n presentados en las Partes 1 a 3, ahora observamos c\u00f3mo el rendimiento y la latencia p95 cambian a medida que var\u00eda la selectividad escalar en conjuntos de datos a gran escala.<\/span><\/p>\n<p><span style=\"font-weight: 400\">En esta publicaci\u00f3n, la selectividad % se refiere a cu\u00e1nto del conjunto de datos permanece relevante despu\u00e9s de que la porci\u00f3n escalar de la consulta restringe el espacio de b\u00fasqueda. Una menor selectividad significa una porci\u00f3n m\u00e1s peque\u00f1a del conjunto de datos que califica, lo que a su vez reduce la cantidad de trabajo vectorial que el sistema debe realizar.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Rendimiento de Construcci\u00f3n<\/span><\/h3>\n<p><span style=\"font-weight: 400\">En una prueba de rendimiento interna, CVI pudo construir un \u00edndice de 1000 millones de vectores de 128 dimensiones en 7 horas. Esto demuestra la arquitectura de indexaci\u00f3n y el uso de hardware moderno.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">El rendimiento de compilaci\u00f3n se midi\u00f3 en la siguiente infraestructura:<\/span><\/p>\n<p><b>Procesador<\/b><span style=\"font-weight: 400\"> AMD EPYC 7643 de 32 n\u00facleos<\/span><\/p>\n<p><b>Memoria:<\/b><span style=\"font-weight: 400\"> 128 GB de RAM<\/span><\/p>\n<p><b>Almacenamiento:<\/b><span style=\"font-weight: 400\"> Samsung PM1743 SSD Empresarial 15.36TB<\/span><\/p>\n<p><b>Conjunto de datos<\/b><span style=\"font-weight: 400\"> Datos de referencia SIFT<\/span><\/p>\n<p><span style=\"font-weight: 400\">Esto demuestra que indexar miles de millones de vectores para cargas de trabajo de producci\u00f3n es pr\u00e1ctico.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Rendimiento de Consultas: Combinando Velocidad y Precisi\u00f3n<\/span><\/h3>\n<p><span style=\"font-weight: 400\">CVI proporciona rendimiento de consultas con alta recuperaci\u00f3n. Usando el conjunto de datos SIFT de 100M con cuantificaci\u00f3n SQ8 y un campo escalar l\u00edder, CVI alcanz\u00f3% recall@10 en varios porcentajes de selectividad, con caracter\u00edsticas de rendimiento y latencia medidas.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">El rendimiento mejora a medida que la selectividad se estrecha<\/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\">Las curvas de rendimiento y latencia cuentan la misma historia desde dos \u00e1ngulos. Restricciones escalares m\u00e1s estrechas reducen la cantidad de trabajo que fluye a trav\u00e9s del camino de ejecuci\u00f3n, lo que mejora tanto el rendimiento del sistema como el comportamiento de la cola. Para aplicaciones que incluyen naturalmente restricciones estrictas como categor\u00eda, marca, inquilino, regi\u00f3n, idioma o l\u00edmite de cumplimiento, este comportamiento es exactamente donde los \u00edndices de vectores compuestos resultan convincentes.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Configuraci\u00f3n de la prueba<\/span><\/h3>\n<h4><span style=\"font-weight: 400\">Definici\u00f3n<\/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 qu\u00e9 las curvas se ven as\u00ed<\/span><\/h2>\n<p><span style=\"font-weight: 400\">El rendimiento de CVI est\u00e1 influenciado por varias caracter\u00edsticas arquitect\u00f3nicas:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Escaneo consciente del orden<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">CVI utiliza un pipeline de escaneo consciente del orden que aprovecha predicados escalares combinados con b\u00fasqueda de similitud vectorial, lo que permite patrones de acceso eficientes y minimiza las operaciones de I\/O.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Arquitectura de procesamiento paralelo<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">El sistema utiliza paralelismo entre centros, lo que permite que m\u00faltiples trabajadores de escaneo operen concurrentemente en diferentes particiones del espacio vectorial.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">C\u00e1lculo de distancia acelerado por SIMD<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">CVI utiliza operaciones SIMD a trav\u00e9s de la biblioteca FAISS para acelerar las evaluaciones de similitud y minimizar la sobrecarga computacional.<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Capa de enrutamiento HNSW<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">La capa de enrutamiento Hierarchical Navigable Small World (HNSW) permite la identificaci\u00f3n de centroides relevantes, reduciendo el espacio de b\u00fasqueda.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2><span style=\"font-weight: 400\">Ejemplos de aplicaciones<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Las caracter\u00edsticas de rendimiento de CVI son aplicables a una variedad de casos de uso:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Comercio electr\u00f3nico y recomendaciones de productos<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">B\u00fasqueda de similitud de productos con filtros de precio, marca y categor\u00eda<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Descubrimiento de contenido y b\u00fasqueda<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">B\u00fasqueda de similitud de documentos y medios con restricciones de metadatos<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Detecci\u00f3n de fraude y evaluaci\u00f3n de riesgos<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Detecci\u00f3n de anomal\u00edas en patrones de transacciones con restricciones temporales<\/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\">Segmentaci\u00f3n de clientes y recomendaciones personalizadas<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2><span style=\"font-weight: 400\">Conclusi\u00f3n<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Las primeras tres partes de esta serie explicaron por qu\u00e9 los \u00edndices de vectores compuestos son importantes, c\u00f3mo se implementan y c\u00f3mo permiten una ordenaci\u00f3n flexible (ORDER BY) para consultas mixtas escalares m\u00e1s vectoriales. Esta parte final muestra la recompensa de rendimiento de ese dise\u00f1o.<\/span><\/p>\n<p><span style=\"font-weight: 400\">En el benchmark SIFT de 100M con cuantizaci\u00f3n SQ8, el throughput aument\u00f3 de 800 QPS con una selectividad de 100% a 2853 QPS con una selectividad de 1%, mientras que la latencia p95 mejor\u00f3 de 66 ms a 17 ms. En un benchmark de build interno por separado, los \u00cdndices de Vectores Compuestos construyeron un \u00edndice sobre 1 mil millones de vectores de 128 dimensiones en aproximadamente 7 horas en hardware de servidor comercial moderno.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Para cargas de trabajo de ANN filtradas, esa es la propuesta de valor principal de los \u00cdndices Vectoriales Compuestos: permiten a las aplicaciones combinar restricciones escalares y similitud sem\u00e1ntica en una \u00fanica estructura de \u00edndice, al tiempo que ofrecen un alto rendimiento y una baja latencia de cola a 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\/es\/filtered-ann-search-with-composite-vector-indexes-part-4\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\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\/es\/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\":\"es\",\"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\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/filtered-ann-search-with-composite-vector-indexes-part-4\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\":\"es\",\"@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\\\/es\\\/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\/es\/filtered-ann-search-with-composite-vector-indexes-part-4\/","og_locale":"es_MX","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\/es\/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":"es","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":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/filtered-ann-search-with-composite-vector-indexes-part-4\/"]}]},{"@type":"ImageObject","inLanguage":"es","@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":"El blog de Couchbase","description":"Couchbase, la base de datos 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":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@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, ingeniero de software s\u00e9nior","image":{"@type":"ImageObject","inLanguage":"es","@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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/17979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/85690"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=17979"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/17979\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/17981"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=17979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=17979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=17979"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=17979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}