{"id":2144,"date":"2016-02-05T00:05:41","date_gmt":"2016-02-05T00:05:40","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2144"},"modified":"2019-01-28T07:18:46","modified_gmt":"2019-01-28T15:18:46","slug":"couchbase-full-text-cbft-for-content-management","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-full-text-cbft-for-content-management\/","title":{"rendered":"Couchbase Full Text (CBFT) para la gesti\u00f3n de contenidos"},"content":{"rendered":"<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">La b\u00fasqueda de texto completo (BTS) es una de las principales capacidades de los sistemas de gesti\u00f3n de contenidos para buscar tanto contenidos como metadatos asociados a los mismos. En un\u00a0<a href=\"https:\/\/cecilelepape.blogspot.fr\/2015\/09\/flexible-and-scalable-content.html\">blog anterior<\/a>, ya habl\u00e9 de una nueva arquitectura totalmente escalable para la Gesti\u00f3n de Contenidos utilizando Apache Chemistry con repositorio Couchbase para metadatos (y\u00a0<a href=\"https:\/\/cecilelepape.blogspot.fr\/2016\/01\/storing-blobs-in-couchbase-for-content.html\">posiblemente blobs<\/a>). Hoy, me gustar\u00eda discutir sobre c\u00f3mo integrar la capacidad FTS de una manera escalable en esta arquitectura sin la necesidad de otro nivel (ElasticSearch, Solr, LudicWorks).<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">En 2015, Couchbase ha anunciado el desarrollo de CBFT que significa Couchbase Full Text search, actualmente en vista previa para desarrolladores. CBFT es un servidor de texto completo simple, integrado y distribuido que cubre 80% de las caracter\u00edsticas de la mayor\u00eda de las aplicaciones:\u00a0<a href=\"https:\/\/connect15.couchbase.com\/agenda\/sneak-peek-cbft-full-text-search-couchbase\/\">https:\/\/connect15.couchbase.com\/agenda\/sneak-peek-cbft-full-text-search-couchbase\/<\/a><\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">En este art\u00edculo, voy a empezar a investigar c\u00f3mo integrar CBFT en CMIS Apache Chemistry para la b\u00fasqueda de metadatos de texto completo.<\/p>\n<ul style=\"color: #333333; line-height: 20.8px; text-align: left;\">\n<li>Configurar<\/li>\n<\/ul>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">Para instalar Couchbase, siga la documentaci\u00f3n\u00a0<a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.0\/getting-started\/installing.html\">aqu\u00ed<\/a>.<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">Crear un cubo llamado\u00a0<em>cmismeta<\/em>. Este bucket contiene la metatada de cada contenido (carpeta, archivo).<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">Para instalar Apache Chemistry utilizando el repositorio Couchbase, siga la documentaci\u00f3n\u00a0<a href=\"https:\/\/github.com\/cecilelepape\/cmis-couchbase\">aqu\u00ed<\/a>.<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">Para instalar CBFT, siga la documentaci\u00f3n\u00a0<a href=\"https:\/\/labs.couchbase.com\/cbft\/\">aqu\u00ed<\/a>.<\/p>\n<ul style=\"color: #333333; line-height: 20.8px; text-align: left;\">\n<li>Crear un \u00edndice CBFT<\/li>\n<\/ul>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">Iniciar CBFT en un nodo local : cbft -s https:\/\/localhost:8091<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">Dirija su navegador a la interfaz de administraci\u00f3n web de cbft : https:\/\/localhost:8095<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: center;\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/january\/couchbase-full-text-cbft-for-content-management\/cbft1.png\" \/><\/p>\n<h4 style=\"font-size: 13px; color: #333333; text-align: start;\"><\/h4>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">En la p\u00e1gina de \u00edndices, haga clic en el bot\u00f3n\u00a0<em>Nuevo \u00edndice\u00a0<\/em>bot\u00f3n.<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">Crear un \u00edndice llamado\u00a0<em>cmis-fts<\/em>\u00a0en el cubo cmismeta.<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: center;\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/january\/couchbase-full-text-cbft-for-content-management\/cbft2.png\" \/><\/p>\n<ul style=\"color: #333333; line-height: 20.8px; text-align: left;\">\n<li>Pruebe su \u00edndice<\/li>\n<\/ul>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">Para probar su \u00edndice, debe a\u00f1adir contenido en\u00a0<em>cmismeta<\/em>\u00a0cubo. Puede hacerlo utilizando el banco de trabajo de Apache Chemistry para crear contenido (carpeta, archivos) que se asociar\u00e1 con metadatos en\u00a0<em>cmismeta<\/em>\u00a0o a\u00f1adiendo contenido sencillo para probarlo (y luego eliminarlo).<\/p>\n<p>En este ejemplo, ya tengo un mont\u00f3n de archivos a\u00f1adidos al repositorio Couchbase de Gesti\u00f3n de Contenidos.<\/p>\n<p>Abra la pesta\u00f1a de consulta e introduzca una consulta utilizando\u00a0<a href=\"https:\/\/www.blevesearch.com\/docs\/Query-String-Query\/\">Sintaxis Bleve<\/a><\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: center;\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/january\/couchbase-full-text-cbft-for-content-management\/cbft3.png\" \/><\/p>\n<ul style=\"color: #333333; line-height: 20.8px; text-align: left;\">\n<li>Proyecto CMIS Apache Chemistry<\/li>\n<\/ul>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0En primer lugar, debe activar las capacidades de consulta de texto completo de la clase de repositorio CMIS Couchbase.<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">public class CouchbaseRepository {<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0\u00a0 private RepositoryInfo createRepositoryInfo(CmisVersion cmisVersion) {<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0 \u00a0 \/\/ establecer informaci\u00f3n del repositorio<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0 \u00a0\u00a0RepositoryInfoImpl repositoryInfo = new RepositoryInfoImpl();<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0 \u00a0\u00a0repositoryInfo.setCmisVersionSupported(cmisVersion.value());<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8230;<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0 \u00a0 \/\/ establecer las capacidades del repositorio<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0\u00a0 RepositoryCapabilitiesImpl capabilities = new RepositoryCapabilitiesImpl();<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0 \u00a0 capabilities.setCapabilityQuery(CapabilityQuery.FULLTEXTONLY);<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0 \u00a0 &#8230;<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0 \u00a0\u00a0repositoryInfo.setCapabilities(capabilities);<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0 \u00a0\u00a0devolver repositoryInfo;<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0\u00a0\u00a0\u00a0\u00a0}<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">}<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">Para consultar el \u00edndice CBFT, utilizamos la API REST con un cliente Jersey.<\/p>\n<p>En primer lugar, a\u00f1ada la dependencia en el archivo pom de maven.<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0com.sun.jersey<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">jersey-cliente<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1.8<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">A continuaci\u00f3n, cree una nueva clase de servicio CBFT. Este servicio necesita la ubicaci\u00f3n CBFT y el nombre del \u00edndice. Proporciono un m\u00e9todo de consulta simple que devuelve una lista de claves referidas a\u00a0<em>cmismeta<\/em>\u00a0en Couchbase.<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">paquete org.apache.chemistry.opencmis.couchbase;<\/p>\n<p>import java.util.ArrayList;<br \/>\nimport java.util.List;<\/p>\n<p>import com.couchbase.client.java.document.json.JsonArray;<br \/>\nimport com.couchbase.client.java.document.json.JsonObject;<br \/>\nimport com.sun.jersey.api.client.Client;<br \/>\nimport com.sun.jersey.api.client.ClientResponse;<br \/>\nimport com.sun.jersey.api.client.WebResource;<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">public class CBFTService {<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0private String cbftLocation = null;<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">private Cliente cliente = null;<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">private String indexid = null;<\/p>\n<p>public CBFTService(String location, String indexid) {<br \/>\nthis.cbftLocation = ubicaci\u00f3n;<br \/>\nthis.indexid = indexid;<br \/>\ncliente = Client.create();<br \/>\n}<\/p>\n<p>\/** Buscar\u00a0<u>cbft<\/u>\u00a0\u00edndice.<br \/>\n* @param query la consulta a buscar<br \/>\n* @return lista de claves que coinciden con la consulta<br \/>\n* *\/<br \/>\npublic Lista consulta(Cadena consulta){<br \/>\nLista de resultados = new ArrayList();<\/p>\n<p>WebResource webResource = cliente<br \/>\n.resource(\"https:\/\/\"+this.cbftLocation+\":8095\/api\/index\/\"+indexid+\"\/query\");<\/p>\n<p>Cadena entrada = \"{\" +<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0\"\"q\": \"\"+consulta+\"\",\" +<br \/>\n\"\"indexName\": \"\"+indexid+\"\",\" +<br \/>\n\"tama\u00f1o\": 10, \"+<br \/>\n\"de\": 0, \"+<br \/>\n\"\"explain\": true, \"+<br \/>\n\"\"highlight\"\": {},\" +<br \/>\n\"\"query\"\": {\" +<br \/>\n\"\"boost\"\": 1, \"+<br \/>\n\"\"query\": \"\"+consulta + \"\"\"+<br \/>\n&#8220;},&#8221;+<br \/>\n\"\"fields\"\": [\" +<br \/>\n&#8220;&#8221;*&#8221;&#8221;\u00a0+<br \/>\n&#8220;],&#8221;\u00a0+<br \/>\n\"ctl\": {\" +<br \/>\n\"consistencia\": {\"+<br \/>\n\"\"nivel\": \"\",\" +<br \/>\n\"vectores\": {}\"+<br \/>\n&#8220;},&#8221;+<br \/>\n\"\"tiempo de espera\": 0\u2033+<br \/>\n&#8220;}&#8221;+<br \/>\n&#8220;}&#8221;;<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 ClientResponse response = webResource.type(\"application\/json\")<br \/>\n.post(ClientResponse.class, input);<\/p>\n<p>if (response.getStatus() != 200) {<br \/>\nthrow new RuntimeException(\"Fallido : c\u00f3digo de error HTTP : \"<br \/>\n+ response.getStatus());<br \/>\n}<\/p>\n<p>String output = response.getEntity(String.class);<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">JsonObject contenido = JsonObject.fromJson(salida);<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0JsonArray hits = content.getArray(\"hits\");<\/p>\n<p>if(hits != null){<br \/>\nString id;<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 \u00a0for(int i=0 ; i&lt;hits.size(); i++){<br \/>\nid = hits.getObject(i).getString(\"id\");<br \/>\nresults.add(id);<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0 \u00a0 }<br \/>\n}<\/p>\n<p>devolver resultados;<\/p>\n<p>}<br \/>\n}<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">Ahora puede consultar el servidor de gesti\u00f3n de contenidos mediante el banco de trabajo para recuperar contenidos utilizando la capacidad CBFT y hacer clic en el resultado para ver el contenido asociado.<\/p>\n<p style=\"color: #333333; line-height: 20.8px; text-align: center;\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/january\/couchbase-full-text-cbft-for-content-management\/cbft4.png\" \/><\/p>","protected":false},"excerpt":{"rendered":"<p>Full Text Search (FTS) is a main capability of Content Management systems to search both content and metadata associated to the content. In a\u00a0previous blog, I already discussed about a new fully scalable architecture for Content Management using Apache Chemistry [&hellip;]<\/p>","protected":false},"author":68,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815],"tags":[],"ppma_author":[9040],"class_list":["post-2144","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase Full Text (CBFT) for Content Management<\/title>\n<meta name=\"description\" content=\"See how to integrate FTS capability in a scalable way in this architecture without the need for yet another tier (ElasticSearch, Solr, LudicWorks).\" \/>\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\/couchbase-full-text-cbft-for-content-management\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase Full Text (CBFT) for Content Management\" \/>\n<meta property=\"og:description\" content=\"See how to integrate FTS capability in a scalable way in this architecture without the need for yet another tier (ElasticSearch, Solr, LudicWorks).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-full-text-cbft-for-content-management\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-02-05T00:05:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-28T15:18:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Cecile Le Pape, Solutions Architect, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cecile Le Pape, Solutions Architect, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/\"},\"author\":{\"name\":\"Cecile Le Pape, Solutions Architect, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/28d00738232281d64e4a632c5acc69b1\"},\"headline\":\"Couchbase Full Text (CBFT) for Content Management\",\"datePublished\":\"2016-02-05T00:05:40+00:00\",\"dateModified\":\"2019-01-28T15:18:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/\"},\"wordCount\":660,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Best Practices and Tutorials\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/\",\"name\":\"Couchbase Full Text (CBFT) for Content Management\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-02-05T00:05:40+00:00\",\"dateModified\":\"2019-01-28T15:18:46+00:00\",\"description\":\"See how to integrate FTS capability in a scalable way in this architecture without the need for yet another tier (ElasticSearch, Solr, LudicWorks).\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase Full Text (CBFT) for Content Management\"}]},{\"@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\/28d00738232281d64e4a632c5acc69b1\",\"name\":\"Cecile Le Pape, Solutions Architect, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/97438b032f142721b48bf7eae0f50bcd\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6c0a378c3c8e07dce943defd33929845a490ea466c6fddbb9ee24a71bdc8aa6c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6c0a378c3c8e07dce943defd33929845a490ea466c6fddbb9ee24a71bdc8aa6c?s=96&d=mm&r=g\",\"caption\":\"Cecile Le Pape, Solutions Architect, Couchbase\"},\"description\":\"After 10 years at University of Paris 6 (France) where she worked in the database team on replication, consistency, XML, p2p, syndication and mobile projects, Cecile decided to move on and start a new life experience in industry. Cecile joined the architect team of a small company called Oceane Consulting to develop document management projects. She is now a Solutions Architect at Couchbase and very happy to be involved both on the technical field and sales.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/cecile-le-pape\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase Full Text (CBFT) para la gesti\u00f3n de contenidos","description":"See how to integrate FTS capability in a scalable way in this architecture without the need for yet another tier (ElasticSearch, Solr, LudicWorks).","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\/couchbase-full-text-cbft-for-content-management\/","og_locale":"es_MX","og_type":"article","og_title":"Couchbase Full Text (CBFT) for Content Management","og_description":"See how to integrate FTS capability in a scalable way in this architecture without the need for yet another tier (ElasticSearch, Solr, LudicWorks).","og_url":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-full-text-cbft-for-content-management\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-02-05T00:05:40+00:00","article_modified_time":"2019-01-28T15:18:46+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"Cecile Le Pape, Solutions Architect, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Cecile Le Pape, Solutions Architect, Couchbase","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/"},"author":{"name":"Cecile Le Pape, Solutions Architect, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/28d00738232281d64e4a632c5acc69b1"},"headline":"Couchbase Full Text (CBFT) for Content Management","datePublished":"2016-02-05T00:05:40+00:00","dateModified":"2019-01-28T15:18:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/"},"wordCount":660,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Best Practices and Tutorials"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/","name":"Couchbase Full Text (CBFT) para la gesti\u00f3n de contenidos","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-02-05T00:05:40+00:00","dateModified":"2019-01-28T15:18:46+00:00","description":"See how to integrate FTS capability in a scalable way in this architecture without the need for yet another tier (ElasticSearch, Solr, LudicWorks).","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-full-text-cbft-for-content-management\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase Full Text (CBFT) for Content Management"}]},{"@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\/28d00738232281d64e4a632c5acc69b1","name":"Cecile Le Pape, Arquitecta de soluciones, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/97438b032f142721b48bf7eae0f50bcd","url":"https:\/\/secure.gravatar.com\/avatar\/6c0a378c3c8e07dce943defd33929845a490ea466c6fddbb9ee24a71bdc8aa6c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6c0a378c3c8e07dce943defd33929845a490ea466c6fddbb9ee24a71bdc8aa6c?s=96&d=mm&r=g","caption":"Cecile Le Pape, Solutions Architect, Couchbase"},"description":"Tras 10 a\u00f1os en la Universidad de Par\u00eds 6 (Francia), donde trabaj\u00f3 en el equipo de bases de datos en proyectos de replicaci\u00f3n, coherencia, XML, p2p, sindicaci\u00f3n y telefon\u00eda m\u00f3vil, Cecile decidi\u00f3 cambiar de aires e iniciar una nueva experiencia vital en la industria. Cecile se uni\u00f3 al equipo de arquitectos de una peque\u00f1a empresa llamada Oceane Consulting para desarrollar proyectos de gesti\u00f3n documental. Ahora es Arquitecta de Soluciones en Couchbase y est\u00e1 muy contenta de participar tanto en el campo t\u00e9cnico como en el de ventas.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/cecile-le-pape\/"}]}},"authors":[{"term_id":9040,"user_id":68,"is_guest":0,"slug":"cecile-le-pape","display_name":"Cecile Le Pape, Solutions Architect, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/6c0a378c3c8e07dce943defd33929845a490ea466c6fddbb9ee24a71bdc8aa6c?s=96&d=mm&r=g","author_category":"","last_name":"Le Pape","first_name":"Cecile","job_title":"","user_url":"","description":"Tras 10 a\u00f1os en la Universidad de Par\u00eds 6 (Francia), donde trabaj\u00f3 en el equipo de bases de datos en proyectos de replicaci\u00f3n, coherencia, XML, p2p, sindicaci\u00f3n y telefon\u00eda m\u00f3vil, Cecile decidi\u00f3 cambiar de aires e iniciar una nueva experiencia vital en la industria. Cecile se uni\u00f3 al equipo de arquitectos de una peque\u00f1a empresa llamada Oceane Consulting para desarrollar proyectos de gesti\u00f3n documental. Ahora es Arquitecta de Soluciones en Couchbase y est\u00e1 muy contenta de participar tanto en el campo t\u00e9cnico como en el de ventas."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2144","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\/68"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2144"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2144\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=2144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2144"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}