{"id":2431,"date":"2016-11-07T18:38:38","date_gmt":"2016-11-07T18:38:38","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2431"},"modified":"2025-10-09T07:13:29","modified_gmt":"2025-10-09T14:13:29","slug":"full-text-search-enhancements-in-couchbase-server-4-6","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/full-text-search-enhancements-in-couchbase-server-4-6\/","title":{"rendered":"Pesquisa, classifica\u00e7\u00e3o e mapeamento mais r\u00e1pidos por chaves: Aprimoramentos do FTS no Couchbase Server 4.6"},"content":{"rendered":"<p style=\"color: #333333;text-align: left\">Hoje, temos o prazer de anunciar melhorias significativas na Pesquisa de texto completo (FTS) em\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/pt\/introducing-couchbase-server-4.6.0-developer-preview\/\">Servidor Couchbase 4.6<\/a>.  Este blog descreve o que h\u00e1 de novo para a pesquisa na vers\u00e3o 4.6:<\/p>\n<ol style=\"color: #333333;text-align: left\">\n<li>Melhorias no desempenho<\/li>\n<li>Mapeamento de tipo de \u00edndice por chave<\/li>\n<li>Classifica\u00e7\u00e3o personalizada<\/li>\n<\/ol>\n<p style=\"color: #333333;text-align: left\">O Couchbase Server FTS \u00e9 executado perfeitamente em seu cluster e oferece recursos de pesquisa semelhantes aos do Elasticsearch. \u00a0<a style=\"background-color: #ffffff\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/multi-node-full-text-search\/\">O FTS \"simplesmente funciona\" distribu\u00eddo<\/a>\u00a0- Voc\u00ea n\u00e3o precisa fazer nada de especial para executar a pesquisa de v\u00e1rios n\u00f3s distribu\u00edda em seu cluster - voc\u00ea a gerencia da mesma forma que os usu\u00e1rios esperam do Couchbase Server. Por exemplo, voc\u00ea pode adicionar hardware, fazer o rebalanceamento, e o Couchbase Server distribui os \u00edndices pelo cluster para que os n\u00f3s rec\u00e9m-provisionados comecem a lidar com a carga de trabalho de pesquisa.  Isso faz parte do objetivo: simplificar a pesquisa, tanto para desenvolvedores quanto para administradores.<\/p>\n<p style=\"color: #333333;text-align: left\">Observe que o FTS est\u00e1 na vers\u00e3o pr\u00e9via para desenvolvedores e permanecer\u00e1 na vers\u00e3o pr\u00e9via para desenvolvedores mesmo depois que o Couchbase Server 4.6 for lan\u00e7ado no GA. Convidamos voc\u00ea a experiment\u00e1-lo e compartilhar seus coment\u00e1rios.<\/p>\n<ul style=\"color: #333333;text-align: left\">\n<li style=\"text-align: left\"><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.6\/introduction\/whats-new.html\">4.6 Documenta\u00e7\u00e3o do DP<\/a><\/li>\n<li style=\"text-align: left\"><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/nosql-databases\/downloads\/\">Couchbase Server 4.6 - Downloads<\/a><\/li>\n<\/ul>\n<p>https:\/\/www.couchbase.com\/blog\/2016\/november\/introducing-couchbase-server-4.6.0-developer-preview<\/p>\n<div class=\"textblock textblock--centered content-block-item\">\n<div class=\"textblock__content\">\n<h2>Pesquisa mais r\u00e1pida<\/h2>\n<p>Voc\u00ea notar\u00e1 que a pesquisa est\u00e1 mais r\u00e1pida e mais eficiente com os recursos na vers\u00e3o 4.6 em compara\u00e7\u00e3o com as vers\u00f5es anteriores. Essa vers\u00e3o traz melhorias em todo o sistema, tanto no pr\u00f3prio FTS quanto no <a href=\"https:\/\/www.blevesearch.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">sangrar<\/a>a biblioteca Go de pesquisa e indexa\u00e7\u00e3o de texto completo que alimenta o FTS.<br \/>\nO maior contribuinte individual para as melhorias de desempenho \u00e9 o MossStore, o novo mecanismo de armazenamento kv padr\u00e3o para \u00edndices de texto completo no FTS.  O MossStore faz parte do <a href=\"https:\/\/github.com\/couchbase\/moss\" target=\"_blank\" rel=\"noopener noreferrer\">Musgo<\/a> (\"Segmentos ordenados orientados \u00e0 mem\u00f3ria\"), uma cole\u00e7\u00e3o de valores-chave ordenados, simples, r\u00e1pida e persistente, implementada como uma biblioteca Golang pura. O Moss melhora o desempenho da consulta e, principalmente, da indexa\u00e7\u00e3o, classificando os segmentos do \u00edndice na mem\u00f3ria antes de persisti-los. A principal vantagem do MossStore em rela\u00e7\u00e3o aos armazenamentos gen\u00e9ricos de KV \u00e9 que os segmentos s\u00e3o sempre ordenados, de modo que o MossStore n\u00e3o precisa ser reordenado. O MossStore \u00e9 recomendado para todos os casos de uso.<br \/>\nAinda mais aprimoramentos de desempenho est\u00e3o a caminho para a pr\u00f3xima vers\u00e3o. Fique ligado!<\/p>\n<\/div>\n<\/div>\n<div class=\"textblock textblock--centered content-block-item\">\n<div class=\"textblock__content\">\n<h2>Mapeamento de tipo de \u00edndice por chave<\/h2>\n<p>Agora voc\u00ea pode criar mapeamentos de \u00edndices personalizados usando a chave do documento para determinar o tipo. O mapeamento de \u00edndices \u00e9 o processo de especifica\u00e7\u00e3o das regras para tornar os documentos pesquis\u00e1veis. Na pesquisa de texto completo, os desenvolvedores geralmente especificam diferentes mapeamentos de \u00edndice para diferentes tipos de documentos. Por exemplo, talvez voc\u00ea queira indexar o campo \"city\" (cidade), mas somente para documentos do tipo \"hotel\" e n\u00e3o para documentos do tipo \"landmark\" (ponto de refer\u00eancia).  Nas vers\u00f5es anteriores, isso s\u00f3 funcionava se o tipo fosse definido por um atributo no JSON do documento; na vers\u00e3o 4.6, voc\u00ea tamb\u00e9m pode usar uma parte da chave do documento para determinar o tipo de documento, por exemplo, o prefixo at\u00e9 \"::\" para chaves como \"hotel::1234\".<br \/>\nCom esse aprimoramento, \u00e9 mais f\u00e1cil oferecer suporte ao estilo comum de modelagem de dados no qual o tipo de documento \u00e9 indicado por uma parte da chave, por exemplo, \"user::will.gardella\". De modo geral, esse identificador de tipo ser\u00e1 um prefixo da chave, de modo que o FTS oferece uma op\u00e7\u00e3o f\u00e1cil para especificar apenas o prefixo sem mexer com express\u00f5es regulares. Por outro lado, voc\u00ea pode usar express\u00f5es regulares se tiver um design de chave mais complexo, como um infixo.<br \/>\nVoc\u00ea pode experimentar isso no bucket de amostra de viagem que vem com o Couchbase Server. O modelo de dados da amostra de viagem segue o princ\u00edpio do cinto e suspens\u00f3rios: o tipo de documento \u00e9 indicado de forma redundante em um atributo de tipo JSON E no prefixo da chave do documento.<br \/>\nAqui est\u00e1 um exemplo passo a passo, supondo que voc\u00ea tenha o bucket travel-sample instalado. Vamos criar um \u00edndice que permitir\u00e1 que nossos usu\u00e1rios pesquisem hot\u00e9is e companhias a\u00e9reas. Uma coisa um pouco estranha de se fazer, mas vamos em frente.<br \/>\nPrimeiro, acesse seu administrador da Web (por exemplo <a href=\"https:\/\/localhost:8091\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/localhost:8091\/<\/a>) &gt; \u00edndices &gt; \u00edndices de texto completo &gt; novo \u00edndice de texto completo. Esse URL pode lev\u00e1-lo diretamente para l\u00e1, dependendo de onde voc\u00ea administra seu servidor:\u00a0<a href=\"https:\/\/127.0.0.1:8091\/ui\/index.html#\/fts_new\/?indexType=fulltext-index&amp;sourceType=couchbase\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/127.0.0.1:8091\/ui\/index.html#\/fts_new\/?indexType=fulltext-index&amp;sourceType=couchbase<\/a>.<\/p>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3097\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2016\/11\/couchbase_enterprise_edition_1.png\" alt=\"couchbase_enterprise_edition_1\" width=\"1067\" height=\"498\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/couchbase_enterprise_edition_1.png 1067w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/couchbase_enterprise_edition_1-300x140.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/couchbase_enterprise_edition_1-1024x478.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/couchbase_enterprise_edition_1-768x358.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/couchbase_enterprise_edition_1-20x9.png 20w\" sizes=\"auto, (max-width: 1067px) 100vw, 1067px\" \/><\/p>\n<div class=\"textblock textblock--centered content-block-item\">\n<div class=\"textblock__content\">\n<p>Voc\u00ea ver\u00e1 um novo \"<strong>Identificador de tipo<\/strong>\". O comportamento antigo \u00e9 o padr\u00e3o, ou seja, procurar no corpo do documento um campo chamado \"type\" que indique o tipo de documento. Nesse caso, em vez disso, voc\u00ea usar\u00e1 o id dos metadados do documento.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3099\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2016\/11\/New_Full_Text_Index.png\" alt=\"New_Full_Text_Index\" width=\"1068\" height=\"513\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/New_Full_Text_Index.png 1068w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/New_Full_Text_Index-300x144.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/New_Full_Text_Index-1024x492.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/New_Full_Text_Index-768x369.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/New_Full_Text_Index-20x10.png 20w\" sizes=\"auto, (max-width: 1068px) 100vw, 1068px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Clique na caixa de sele\u00e7\u00e3o ao lado de Doc ID at\u00e9 o separador. Digite o sublinhado \"_\". Isso instrui o FTS a analisar as chaves do documento at\u00e9 o sublinhado e comparar esses prefixos com as cadeias de caracteres que voc\u00ea inserir em \"Type mapping\". \u00c9 importante observar que essa etapa apenas informa ao FTS onde procurar o tipo de documento, mas ainda n\u00e3o declara nenhuma regra de mapeamento de \u00edndice. \u00c9 isso que faremos a seguir.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3100\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2016\/11\/new_full_text_index_doc_id.png\" alt=\"new_full_text_index_doc_id\" width=\"642\" height=\"514\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/new_full_text_index_doc_id.png 642w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/new_full_text_index_doc_id-300x240.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/new_full_text_index_doc_id-20x16.png 20w\" sizes=\"auto, (max-width: 642px) 100vw, 642px\" \/><\/p>\n<p>Clique em \"Add Type Mapping\" (Adicionar mapeamento de tipos). Adicione um tipo \"airline\" (companhia a\u00e9rea) e um tipo \"hotel\" (hotel). N\u00e3o se esque\u00e7a de desativar o mapeamento padr\u00e3o, caso contr\u00e1rio, voc\u00ea ter\u00e1 tudo em seu \u00edndice, n\u00e3o apenas companhias a\u00e9reas e hot\u00e9is.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3101\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2016\/11\/RegEx_type_mapping.png\" alt=\"RegEx_type_mapping\" width=\"1071\" height=\"692\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/RegEx_type_mapping.png 1071w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/RegEx_type_mapping-300x194.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/RegEx_type_mapping-1024x662.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/RegEx_type_mapping-768x496.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/RegEx_type_mapping-20x13.png 20w\" sizes=\"auto, (max-width: 1071px) 100vw, 1071px\" \/><\/p>\n<p>Por fim, como se trata apenas de um teste, desdobre \"Advanced\" (Avan\u00e7ado) clicando no tri\u00e2ngulo e marque \"Store Dynamic Fields\" (Armazenar campos din\u00e2micos). Isso n\u00e3o apenas indexar\u00e1 todos os campos de todos os documentos de companhias a\u00e9reas e hot\u00e9is, mas tamb\u00e9m armazenar\u00e1 o que for indexado no \u00edndice de texto completo para que possa ser destacado e recuperado como snippets. Isso torna a demonstra\u00e7\u00e3o mais agrad\u00e1vel, mas engorda seu \u00edndice e torna tudo mais lento. Para esta demonstra\u00e7\u00e3o, isso n\u00e3o deve fazer muita diferen\u00e7a.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3102\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2016\/11\/new_full_text_index_travel_prefix.png\" alt=\"new_full_text_index_travel_prefix\" width=\"718\" height=\"905\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/new_full_text_index_travel_prefix.png 718w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/new_full_text_index_travel_prefix-238x300.png 238w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/new_full_text_index_travel_prefix-300x378.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/new_full_text_index_travel_prefix-16x20.png 16w\" sizes=\"auto, (max-width: 718px) 100vw, 718px\" \/><br \/>\nQuando voc\u00ea tiver terminado, a defini\u00e7\u00e3o do \u00edndice ter\u00e1 a seguinte apar\u00eancia:<\/p>\n<pre class=\"lang:js decode:true\">{\r\n  \"type\": \"fulltext-index\",\r\n  \"name\": \"travelPrefix\",\r\n  \"sourceType\": \"couchbase\",\r\n  \"sourceName\": \"travel-sample\",\r\n  \"planParams\": {\r\n    \"maxPartitionsPerPIndex\": 32,\r\n    \"numReplicas\": 0,\r\n    \"hierarchyRules\": null,\r\n    \"nodePlanParams\": null,\r\n    \"pindexWeights\": null,\r\n    \"planFrozen\": false\r\n  },\r\n  \"params\": {\r\n    \"doc_config\": {\r\n      \"docid_prefix_delim\": \"_\",\r\n      \"mode\": \"docid_prefix\"\r\n    },\r\n    \"mapping\": {\r\n      \"default_analyzer\": \"standard\",\r\n      \"default_datetime_parser\": \"dateTimeOptional\",\r\n      \"default_field\": \"_all\",\r\n      \"default_mapping\": {\r\n        \"display_order\": \"2\",\r\n        \"dynamic\": true,\r\n        \"enabled\": false\r\n      },\r\n      \"default_type\": \"_default\",\r\n      \"index_dynamic\": true,\r\n      \"store_dynamic\": true,\r\n      \"type_field\": \"type\",\r\n      \"types\": {\r\n        \"airline\": {\r\n          \"display_order\": \"0\",\r\n          \"dynamic\": true,\r\n          \"enabled\": true\r\n        },\r\n        \"hotel\": {\r\n          \"display_order\": \"1\",\r\n          \"dynamic\": true,\r\n          \"enabled\": true\r\n        }\r\n      }\r\n    },\r\n    \"store\": {\r\n      \"kvStoreName\": \"mossStore\"\r\n    }\r\n  },\r\n  \"sourceParams\": {\r\n    \"clusterManagerBackoffFactor\": 0,\r\n    \"clusterManagerSleepInitMS\": 0,\r\n    \"clusterManagerSleepMaxMS\": 2000,\r\n    \"dataManagerBackoffFactor\": 0,\r\n    \"dataManagerSleepInitMS\": 0,\r\n    \"dataManagerSleepMaxMS\": 2000,\r\n    \"feedBufferAckThreshold\": 0,\r\n    \"feedBufferSizeBytes\": 0\r\n  }\r\n}<\/pre>\n<p>Observe que sua defini\u00e7\u00e3o de \u00edndice JSON rec\u00e9m-criada tem um campo no objeto \"params\" chamado \"<strong>doc_config<\/strong>\", que \u00e9 novo na vers\u00e3o 4.6. Esse campo, \"doc_config\", tamb\u00e9m \u00e9 um objeto com dois campos \"mode\" e \"type_field\" ou \"mode\", dependendo se voc\u00ea est\u00e1 mapeando com base na ID do documento ou no campo de tipo.<br \/>\nMapeamento de \u00edndices por campo de tipo:<\/p>\n<pre class=\"lang:default decode:true\">   \"doc_config\": {\r\n      \"mode\": \"type_field\",\r\n      \"type_field\": \"type\"\r\n    }<\/pre>\n<p>Mapeamento de \u00edndices por ID de documento (prefixo at\u00e9):<\/p>\n<pre class=\"lang:default decode:true\">   \"doc_config\": {\r\n      \"docid_prefix_delim\": \"_\",\r\n      \"mode\": \"docid_prefix\"\r\n    }<\/pre>\n<p>Voc\u00ea pode testar seu novo e brilhante \u00edndice executando uma consulta de string de consulta para \"delta\", que corresponde exatamente a uma companhia a\u00e9rea e a um hotel. (Eu sei, conveniente, certo?). Seu JSON de consulta ter\u00e1 a seguinte apar\u00eancia se estiver usando a API REST, ou voc\u00ea pode usar a caixa de pesquisa no Web Admin para fazer a mesma pesquisa.<\/p>\n<pre class=\"lang:default decode:true\">{\r\n  \"explain\": true,\r\n  \"fields\": [\r\n    \"*\"\r\n  ],\r\n  \"highlight\": {},\r\n  \"query\": {\r\n    \"query\": \"delta\"\r\n  }\r\n}<\/pre>\n<p><strong>Dica b\u00f4nus:\u00a0<\/strong><\/p>\n<p>Voc\u00ea pode obter o JSON da consulta no administrador da Web clicando na op\u00e7\u00e3o \"Advanced\" (Avan\u00e7ado) \u00e0 direita do campo de entrada de pesquisa e, em seguida, clicando na caixa de exemplo de curl de linha de comando.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3103\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2016\/11\/travel_prefix.png\" alt=\"travel_prefix\" width=\"525\" height=\"606\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/travel_prefix.png 525w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/travel_prefix-260x300.png 260w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/travel_prefix-300x346.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/travel_prefix-17x20.png 17w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<\/div>\n<\/div>\n<div class=\"textblock textblock--centered content-block-item\">\n<div class=\"textblock__content\">\n<h2>Classifica\u00e7\u00e3o<\/h2>\n<p>O Couchbase Server 4.6 introduz a capacidade de classificar os resultados da pesquisa por qualquer campo do documento, desde que esse campo tamb\u00e9m esteja indexado. Em vers\u00f5es anteriores, e por padr\u00e3o na 4.6, os resultados da pesquisa s\u00e3o classificados por pontua\u00e7\u00e3o decrescente para que os resultados mais relevantes sejam listados primeiro.<br \/>\nPara usar a ordem de classifica\u00e7\u00e3o personalizada, voc\u00ea passa um campo \"sort\" com uma matriz de cadeias de caracteres em sua consulta, em que cada cadeia de caracteres se refere ao nome de um campo que voc\u00ea deseja classificar. Usando o \u00edndice travelPrefix que criamos na etapa anterior, voc\u00ea pode classificar por nome desta forma:<\/p>\n<pre class=\"lang:default decode:true\">{\r\n  \"explain\": false,\r\n  \"fields\": [\r\n    \"title\"\r\n  ],\r\n  \"highlight\": {},\r\n  \"sort\": [\"name\"],\r\n  \"query\":{ \r\n     \"query\": \"beautiful pool\" \r\n  }\r\n}<\/pre>\n<p>Voc\u00ea pode prefixar qualquer nome de campo com o caractere \"-\", o que faz com que esse campo seja classificado em ordem decrescente. Portanto, o campo de classifica\u00e7\u00e3o do exemplo anterior teria a seguinte apar\u00eancia:<\/p>\n<pre class=\"lang:default decode:true\">\"sort\": [\"-name\"]<\/pre>\n<p>Se voc\u00ea passar uma matriz de nomes de campos, os resultados ser\u00e3o classificados primeiro pelo primeiro campo. Os itens com o mesmo valor para esse campo ser\u00e3o classificados pelo pr\u00f3ximo campo, e assim por diante.<br \/>\nVoc\u00ea pode usar dois campos especiais que funcionam para todos os documentos:<\/p>\n<p><strong>'_id'<\/strong> - refere-se \u00e0 chave do documento<br \/>\n<strong>'_score'<\/strong> - refere-se \u00e0 pontua\u00e7\u00e3o de relev\u00e2ncia calculada pelo Bleve<br \/>\nAqui est\u00e1 outro exemplo. Neste exemplo, os documentos s\u00e3o classificados por pontua\u00e7\u00e3o, em ordem decrescente, e por id, se houver empate.<\/p>\n<pre class=\"lang:default decode:true\">\"sort\": [\"-_score\",\u201d_id\u201d]<\/pre>\n<p>Aqui est\u00e1 um exemplo mais complexo que voc\u00ea poderia usar para classificar os resultados da pesquisa de hot\u00e9is:<\/p>\n<pre class=\"lang:default decode:true\">\"sort\": [\"country\", \u201cstate\u201d, \"city\",\"-_score\"]<\/pre>\n<p>Os resultados ser\u00e3o classificados primeiro por pa\u00eds. Se os documentos tiverem o mesmo valor para pa\u00eds, eles ser\u00e3o classificados por estado e, em seguida, se pa\u00eds e estado forem iguais, as correspond\u00eancias ser\u00e3o classificadas por cidade. Finalmente, se todos os outros campos forem iguais, os resultados ser\u00e3o classificados de forma decrescente por pontua\u00e7\u00e3o. Neste exemplo, voc\u00ea obter\u00e1 uma lista de resultados agrupados de acordo com a geografia e classificados por pontua\u00e7\u00e3o no n\u00edvel da cidade.<\/p>\n<\/div>\n<\/div>\n<div class=\"textblock textblock--centered content-block-item\">\n<div class=\"textblock__content\">\n<h2>Coment\u00e1rios s\u00e3o bem-vindos<\/h2>\n<p>Como sempre, gostamos de ouvir sua opini\u00e3o. A generosidade da comunidade e dos primeiros usu\u00e1rios tem uma grande influ\u00eancia na dire\u00e7\u00e3o do produto. Boa pesquisa!<\/p>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Today we\u2019re pleased to announce significant improvements in Full-Text Search (FTS) in\u00a0Couchbase Server 4.6. \u00a0This blog describes what\u2019s new for search in 4.6: Performance Improvements Index Type Mapping By Key Custom Sorting Couchbase Server FTS runs seamlessly across your cluster [&hellip;]<\/p>","protected":false},"author":65,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,2165],"tags":[],"ppma_author":[9036],"class_list":["post-2431","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-full-text-search"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Enhancements in Full-Text Search (FTS) in Couchbase Server 4.6<\/title>\n<meta name=\"description\" content=\"Learn the significant improvements in Full-Text Search (FTS) in Couchbase Server 4.6 : Performance ImprovementsIndex Type Mapping By KeyCustom Sorting.\" \/>\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\/full-text-search-enhancements-in-couchbase-server-4-6\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Faster Search, Sorting, Mapping by Keys: FTS Enhancements in Couchbase Server 4.6\" \/>\n<meta property=\"og:description\" content=\"Learn the significant improvements in Full-Text Search (FTS) in Couchbase Server 4.6 : Performance ImprovementsIndex Type Mapping By KeyCustom Sorting.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/full-text-search-enhancements-in-couchbase-server-4-6\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-11-07T18:38:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:13:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/couchbase_enterprise_edition_1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1067\" \/>\n\t<meta property=\"og:image:height\" content=\"498\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Will Gardella, Director, Product Management, 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=\"Will Gardella, Director, Product Management, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/\"},\"author\":{\"name\":\"Will Gardella, Director, Product Management, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/16361083d282711e0137f93b708ce062\"},\"headline\":\"Faster Search, Sorting, Mapping by Keys: FTS Enhancements in Couchbase Server 4.6\",\"datePublished\":\"2016-11-07T18:38:38+00:00\",\"dateModified\":\"2025-10-09T14:13:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/\"},\"wordCount\":1394,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\",\"Full-Text Search\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/\",\"name\":\"Enhancements in Full-Text Search (FTS) in Couchbase Server 4.6\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-11-07T18:38:38+00:00\",\"dateModified\":\"2025-10-09T14:13:29+00:00\",\"description\":\"Learn the significant improvements in Full-Text Search (FTS) in Couchbase Server 4.6 : Performance ImprovementsIndex Type Mapping By KeyCustom Sorting.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#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\/full-text-search-enhancements-in-couchbase-server-4-6\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Faster Search, Sorting, Mapping by Keys: FTS Enhancements in Couchbase Server 4.6\"}]},{\"@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\/16361083d282711e0137f93b708ce062\",\"name\":\"Will Gardella, Director, Product Management, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/94034c6625aea3f838289a292d6904f9\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/02b02044056ac5f8f16d9f9bb9655835aec233a42c12d08f4e95e030c522d35a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/02b02044056ac5f8f16d9f9bb9655835aec233a42c12d08f4e95e030c522d35a?s=96&d=mm&r=g\",\"caption\":\"Will Gardella, Director, Product Management, Couchbase\"},\"description\":\"Will Gardella is Director of Product Management for analytics at Couchbase. Previously, he was a product manager in the big data platform team at HP, a senior director of product management for SAP HANA, and the senior director of SAP Research's global Big Data program focused on big data and machine learning.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/will-gardella\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Enhancements in Full-Text Search (FTS) in Couchbase Server 4.6","description":"Conhe\u00e7a os aprimoramentos significativos na Pesquisa de texto completo (FTS) no Couchbase Server 4.6: Aprimoramentos de desempenhoMapeamento de tipo de \u00edndice por chaveClassifica\u00e7\u00e3o personalizada.","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\/full-text-search-enhancements-in-couchbase-server-4-6\/","og_locale":"pt_BR","og_type":"article","og_title":"Faster Search, Sorting, Mapping by Keys: FTS Enhancements in Couchbase Server 4.6","og_description":"Learn the significant improvements in Full-Text Search (FTS) in Couchbase Server 4.6 : Performance ImprovementsIndex Type Mapping By KeyCustom Sorting.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/full-text-search-enhancements-in-couchbase-server-4-6\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-11-07T18:38:38+00:00","article_modified_time":"2025-10-09T14:13:29+00:00","og_image":[{"width":1067,"height":498,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/11\/couchbase_enterprise_edition_1.png","type":"image\/png"}],"author":"Will Gardella, Director, Product Management, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Will Gardella, Director, Product Management, Couchbase","Est. reading time":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/"},"author":{"name":"Will Gardella, Director, Product Management, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/16361083d282711e0137f93b708ce062"},"headline":"Faster Search, Sorting, Mapping by Keys: FTS Enhancements in Couchbase Server 4.6","datePublished":"2016-11-07T18:38:38+00:00","dateModified":"2025-10-09T14:13:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/"},"wordCount":1394,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server","Full-Text Search"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/","url":"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/","name":"Enhancements in Full-Text Search (FTS) in Couchbase Server 4.6","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-11-07T18:38:38+00:00","dateModified":"2025-10-09T14:13:29+00:00","description":"Conhe\u00e7a os aprimoramentos significativos na Pesquisa de texto completo (FTS) no Couchbase Server 4.6: Aprimoramentos de desempenhoMapeamento de tipo de \u00edndice por chaveClassifica\u00e7\u00e3o personalizada.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-enhancements-in-couchbase-server-4-6\/#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\/full-text-search-enhancements-in-couchbase-server-4-6\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Faster Search, Sorting, Mapping by Keys: FTS Enhancements in Couchbase Server 4.6"}]},{"@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\/16361083d282711e0137f93b708ce062","name":"Will Gardella, diretor de gerenciamento de produtos, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/94034c6625aea3f838289a292d6904f9","url":"https:\/\/secure.gravatar.com\/avatar\/02b02044056ac5f8f16d9f9bb9655835aec233a42c12d08f4e95e030c522d35a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/02b02044056ac5f8f16d9f9bb9655835aec233a42c12d08f4e95e030c522d35a?s=96&d=mm&r=g","caption":"Will Gardella, Director, Product Management, Couchbase"},"description":"Will Gardella \u00e9 diretor de gerenciamento de produtos para an\u00e1lise na Couchbase. Anteriormente, ele foi gerente de produto na equipe de plataforma de Big Data da HP, diretor s\u00eanior de gerenciamento de produtos para SAP HANA e diretor s\u00eanior do programa global de Big Data da SAP Research, com foco em Big Data e aprendizado de m\u00e1quina.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/will-gardella\/"}]}},"authors":[{"term_id":9036,"user_id":65,"is_guest":0,"slug":"will-gardella","display_name":"Will Gardella, Director, Product Management, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/02b02044056ac5f8f16d9f9bb9655835aec233a42c12d08f4e95e030c522d35a?s=96&d=mm&r=g","author_category":"","last_name":"Gardella","first_name":"Will","job_title":"","user_url":"","description":"Will Gardella \u00e9 diretor de gerenciamento de produtos para an\u00e1lise na Couchbase. Anteriormente, ele foi gerente de produto na equipe de plataforma de Big Data da HP, diretor s\u00eanior de gerenciamento de produtos para SAP HANA e diretor s\u00eanior do programa global de Big Data da SAP Research, com foco em Big Data e aprendizado de m\u00e1quina."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2431","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\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2431"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2431\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2431"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}