{"id":9380,"date":"2020-10-02T07:18:17","date_gmt":"2020-10-02T14:18:17","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=9380"},"modified":"2021-07-13T00:40:49","modified_gmt":"2021-07-13T07:40:49","slug":"full-text-search-tips-for-query-performance","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/full-text-search-tips-for-query-performance\/","title":{"rendered":"Full-Text Search - 5 dicas para melhorar o desempenho de suas consultas"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">O ajuste do desempenho da consulta de pesquisa \u00e9 um aspecto muito importante do <a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/services-and-indexes\/services\/search-service.html\">Pesquisa de texto completo<\/a> pois ajuda os aplicativos essenciais aos neg\u00f3cios a atender aos requisitos de SLA de lat\u00eancia e taxa de transfer\u00eancia. Sem muitos pre\u00e2mbulos, gostaria de compartilhar algumas recomenda\u00e7\u00f5es \u00fateis para solucionar problemas de desempenho de pesquisa. Todas essas sugest\u00f5es s\u00e3o independentes de qualquer configura\u00e7\u00e3o de hardware, topologias de cluster e s\u00e3o aplic\u00e1veis \u00e0 maioria dos casos de uso de pesquisa gen\u00e9ricos.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><b>Pesquise o menor n\u00famero poss\u00edvel de campos<\/b><\/h3>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Isso \u00e9 particularmente aplic\u00e1vel a certos tipos de <a href=\"https:\/\/docs.couchbase.com\/server\/6.6\/fts\/fts-query-types.html#compound-queries\">consultas compostas<\/a> em que o usu\u00e1rio tenta pesquisar um texto de consulta de pesquisa comum em v\u00e1rios campos indexados.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Vamos nos aprofundar em um exemplo de consulta.<\/span><\/p>\n<pre class=\"lang:default decode:true\">\"query\": {\r\n  \"conjuncts\": [\r\n    {\r\n      \"field\": \"UserName\",\r\n      \"match\": \"searchText\",\r\n       \"fuzziness\": 1\r\n\r\n    },\r\n    {\r\n      \"field\": \"Department.Name\",\r\n      \"match\": \"searchText\",\r\n      \"fuzziness\": 1\r\n    },\r\n    {\r\n      \"field\": \"SecondName\",\r\n      \"match\": \"searchText\",\r\n      \"fuzziness\": 1\r\n    },\r\n   {\r\n      \"field\": \"ConsumerName\",\r\n      \"match\": \"searchText\"\r\n       \"fuzziness\": 1\r\n    }\r\n]}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Se observarmos, h\u00e1 4 cl\u00e1usulas de consulta de correspond\u00eancia na consulta composta conjunta, todas com o mesmo texto de pesquisa. Isso \u00e9 altamente ineficiente, j\u00e1 que, em segundo plano, o sistema de pesquisa precisa pesquisar muitos dados indexados em campos diferentes para o mesmo texto de pesquisa. Essa sobrecarga \u00e9 agravada pelo grande n\u00famero de estruturas de consulta em tempo de execu\u00e7\u00e3o criadas e pelo lixo coletado entre os campos.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">O FTS tem um recurso para dar suporte a isso de uma maneira muito eficiente. Ele permite que os usu\u00e1rios indexem v\u00e1rios campos de documentos de origem em rela\u00e7\u00e3o a um campo configur\u00e1vel gen\u00e9rico. Quando o usu\u00e1rio faz isso durante o tempo de defini\u00e7\u00e3o do \u00edndice, ele pode executar pesquisas nesse \u00fanico campo comum.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Para aproveitar esse recurso, o usu\u00e1rio precisa <a href=\"https:\/\/docs.couchbase.com\/server\/current\/fts\/fts-creating-indexes.html#inserting-a-child-field\">habilitar o <\/a><\/span><b><i>`_all`<\/i><\/b><span style=\"font-weight: 400;\"> em rela\u00e7\u00e3o a todos os campos m\u00faltiplos no mapeamento de campo durante a indexa\u00e7\u00e3o.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-9382\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/09\/Screenshot-2020-09-27-at-10.40.26-PM-300x98.png\" alt=\"Diagram depicting - how to enable the &#96;_all&#96; option in the field mapping\" width=\"563\" height=\"184\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Screenshot-2020-09-27-at-10.40.26-PM-300x98.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Screenshot-2020-09-27-at-10.40.26-PM-1024x335.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Screenshot-2020-09-27-at-10.40.26-PM-768x251.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Screenshot-2020-09-27-at-10.40.26-PM-20x7.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/09\/Screenshot-2020-09-27-at-10.40.26-PM.png 1228w\" sizes=\"auto, (max-width: 563px) 100vw, 563px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Com isso, todo o conte\u00fado desses campos tamb\u00e9m ser\u00e1 indexado em rela\u00e7\u00e3o ao padr\u00e3o <em><strong>Tudo<\/strong><\/em> no \u00edndice. Isso tem um aspecto de armazenamento adicional para o tamanho do \u00edndice.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Agora o usu\u00e1rio deve ser capaz de emitir consultas sem especificar explicitamente o campo de destino.  E sempre que os campos de destino n\u00e3o forem especificados na consulta, a Full-Text Search far\u00e1 a pesquisa no campo comum padr\u00e3o <\/span><b><i>`_all`.\u00a0<\/i><\/b><\/p>\n<p><span style=\"font-weight: 400;\">Portanto, com a otimiza\u00e7\u00e3o acima, a consulta anterior se tornaria mais simples, como abaixo,<\/span><\/p>\n<pre class=\"lang:default decode:true\">\"query\": {\r\n\u00a0\u00a0\"conjuncts\": [\r\n\u00a0\u00a0\u00a0\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"match\": \"searchText\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u201cfuzziness\u201d : 1,\r\n\u00a0\u00a0\u00a0\u00a0}\r\n]\r\n}<\/pre>\n<p><span style=\"font-weight: 400;\">O desempenho dessa consulta de pesquisa deve ser muito mais leve e r\u00e1pido em compara\u00e7\u00e3o com a consulta original.<\/span><\/p>\n<p>Observa\u00e7\u00e3o: Isso \u00e9 aplic\u00e1vel se n\u00e3o houver <a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/fts\/query-string-queries.html#boosting\">aumento da pontua\u00e7\u00e3o<\/a> usado na consulta original para as cl\u00e1usulas filho.<\/p>\n<p>&nbsp;<\/p>\n<h3><\/h3>\n<h3><\/h3>\n<h3><b>Especificar <\/b><b><i>prefix_length<\/i><\/b><b> Para consultas de correspond\u00eancia difusa\u00a0<\/b><\/h3>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Os usu\u00e1rios escolhem o fuzzy <a href=\"https:\/\/docs.couchbase.com\/server\/6.6\/fts\/fts-query-types.html#match-query\">consultas de correspond\u00eancia<\/a> para ajudar a evitar poss\u00edveis erros de ortografia nos textos de pesquisa. Com o fator de imprecis\u00e3o, eles ainda receberiam do sistema de pesquisa os resultados pretendidos para o documento. Mas os usu\u00e1rios difusos precisam ter em mente que as consultas difusas s\u00e3o consultas que consomem muitos recursos. <\/span><\/p>\n<p><b>Como<\/b><span style=\"font-weight: 400;\"> - Em um \u00edndice FTS suficientemente grande, haver\u00e1 muitos tokens candidatos que est\u00e3o a uma determinada dist\u00e2ncia de fuzziness\/edi\u00e7\u00e3o do texto da consulta. Portanto, essencialmente, uma \u00fanica consulta fuzzy se tornar\u00e1 uma consulta disjunta\/OR para todos os tokens candidatos presentes no \u00edndice. Isso resulta em uma grande dispers\u00e3o interna das opera\u00e7\u00f5es de pesquisa rudimentares, o que \u00e9 um recurso inc\u00f4modo.<\/span><\/p>\n<p>Vamos dar uma olhada em um exemplo mais simples para o fan-out da consulta aqui.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-9386\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/tree-200x300.png\" alt=\"word-tree of edit distanced terms for &#96;plan&#96;\" width=\"171\" height=\"257\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/tree-200x300.png 200w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/tree-300x450.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/tree-13x20.png 13w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/tree.png 520w\" sizes=\"auto, (max-width: 171px) 100vw, 171px\" \/><\/p>\n<p>Uma consulta fuzzy de correspond\u00eancia com uma fuzziness de 1 para o texto de consulta \"plan\" resultaria em um total de 6 termos sendo pesquisados, como neste exemplo. (considerando que apenas os 5 termos est\u00e3o presentes no conte\u00fado indexado que est\u00e3o na dist\u00e2ncia de edi\u00e7\u00e3o solicitada ou na imprecis\u00e3o de 1)<\/p>\n<p><span style=\"font-weight: 400;\">Uma ideia importante de otimiza\u00e7\u00e3o ao se proteger contra poss\u00edveis erros de ortografia \u00e9 que a maioria dos erros de ortografia ocorre no final, e n\u00e3o no in\u00edcio do texto. Os usu\u00e1rios podem aproveitar esse fato e utilizar a fun\u00e7\u00e3o <\/span><i><span style=\"font-weight: 400;\">prefix_length<\/span><\/i><span style=\"font-weight: 400;\"> em consultas difusas. Uma vez que o <\/span><i><span style=\"font-weight: 400;\">prefix_length<\/span><\/i><span style=\"font-weight: 400;\"> \u00e9 fornecido, ent\u00e3o a imprecis\u00e3o s\u00f3 ser\u00e1 considerada para o texto ap\u00f3s o <\/span><i><span style=\"font-weight: 400;\">prefix_length<\/span><\/i><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Normalmente, um <\/span><i><span style=\"font-weight: 400;\">prefix_length<\/span><\/i><span style=\"font-weight: 400;\"> de 2 ou 3 deve ser bom. Mas, certamente, esse \u00e9 um aplicativo ou caso de uso espec\u00edfico.<\/span><\/p>\n<p><em><span style=\"font-weight: 400;\">Exemplo:<\/span><\/em><\/p>\n<pre class=\"font-size:16 lang:default decode:true\">{\r\n\u00a0\"match\": \"beautiful\",\u00a0 =&gt; \"autiful\" is only considered for fuzziness\r\n\u00a0\"field\": \"reviews.content\",\r\n\u00a0\"analyzer\": \"standard\",\r\n\u00a0\"fuzziness\": 1,\r\n\u00a0\"prefix_length\": 2\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">This drastically reduces the scope\/number of the tokens searched in the index for a given fuzzy query.\u00a0 And the search query performance can be significantly improved by specifying a `<i>prefix_length<\/i>` for the fuzziness.\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><b>Ignore a pontua\u00e7\u00e3o quando a relev\u00e2ncia do texto n\u00e3o for importante<\/b><\/h3>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Muitas vezes, observa-se que os usu\u00e1rios est\u00e3o usando a Pesquisa de texto completo para as consultas de correspond\u00eancia exata com um pouco de imprecis\u00e3o ou outros recursos espec\u00edficos de pesquisa, como <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/how-to-geospatial-polygon-search\/\">geo<\/a>. A pontua\u00e7\u00e3o de relev\u00e2ncia do texto n\u00e3o importa quando o usu\u00e1rio est\u00e1 procurando por pesquisas exatas ou mais direcionadas com muitos predicados.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Em situa\u00e7\u00f5es semelhantes, em que o usu\u00e1rio n\u00e3o est\u00e1 interessado no padr\u00e3o <a href=\"https:\/\/en.wikipedia.org\/wiki\/Tf%E2%80%93idf#:~:text=In%20information%20retrieval%2C%20tf%E2%80%93idf,in%20a%20collection%20or%20corpus.\">tf-idf<\/a> os usu\u00e1rios podem otimizar o desempenho da consulta ignorando completamente a pontua\u00e7\u00e3o. Os usu\u00e1rios podem ignorar a pontua\u00e7\u00e3o passando uma op\u00e7\u00e3o \"score\": \"none\" na solicita\u00e7\u00e3o de pesquisa.\u00a0<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">Exemplo:\u00a0<\/span><\/i><\/p>\n<pre class=\"lang:default decode:true\">{\r\n \"query\": {},\r\n \"score\": \"none\",\r\n \"size\": 10,\r\n \"from\": 0\r\n}<\/pre>\n<p><span style=\"font-weight: 400;\">Isso melhora significativamente o desempenho da consulta de pesquisa em muitos casos, especialmente para consultas compostas com muitas cl\u00e1usulas de pesquisa secund\u00e1rias.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Esse recurso est\u00e1 dispon\u00edvel desde a vers\u00e3o do servidor Couchbase - 6.6.1<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><b>Pagina\u00e7\u00e3o de conjunto de teclas para pesquisas mais profundas na p\u00e1gina<\/b><\/h3>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">As you might know, the pagination of search results can be done using the `from` and `size` parameters in the search request. But as the search gets into deeper pages it becomes highly resource taxing.\u00a0 The primary reason being the search results are by default sorted by their <a href=\"https:\/\/en.wikipedia.org\/wiki\/Tf%E2%80%93idf#:~:text=In%20information%20retrieval%2C%20tf%E2%80%93idf,in%20a%20collection%20or%20corpus.\">tf-idf<\/a> scores, and Full-Text Search has heap memory requirements proportional to the requested page\u2019s offset and size. ie `from+size` for maintaining this ranking.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Para nos protegermos de qualquer requisito arbitr\u00e1rio de mem\u00f3ria mais alta, temos um limite configur\u00e1vel <\/span><b>janela bleveMaxResultWindow<\/b><span style=\"font-weight: 400;\"> (padr\u00e3o 10000) nos deslocamentos de p\u00e1gina m\u00e1ximos permitidos. Mas aumentar esse limite para n\u00edveis mais altos n\u00e3o \u00e9 uma solu\u00e7\u00e3o escalon\u00e1vel.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Para contornar esse problema, introduzimos o conceito de pagina\u00e7\u00e3o de conjunto de chaves no FTS.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Instead of providing `<\/span><i><span style=\"font-weight: 400;\">from`<\/span><\/i><span style=\"font-weight: 400;\"> como um n\u00famero de resultados de pesquisa a serem ignorados, o usu\u00e1rio fornecer\u00e1 o valor de classifica\u00e7\u00e3o de um resultado de pesquisa visto anteriormente (geralmente, o \u00faltimo resultado mostrado na p\u00e1gina atual).  A ideia \u00e9 que, para mostrar a pr\u00f3xima p\u00e1gina dos resultados, queremos apenas os N primeiros resultados dessa classifica\u00e7\u00e3o ap\u00f3s o \u00faltimo resultado da p\u00e1gina anterior.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Essa solu\u00e7\u00e3o requer o cumprimento de algumas condi\u00e7\u00f5es pr\u00e9vias:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A solicita\u00e7\u00e3o de pesquisa deve especificar uma ordem de classifica\u00e7\u00e3o.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A ordem de classifica\u00e7\u00e3o deve impor uma ordem total aos resultados.  Sem isso, qualquer resultado que compartilhe o mesmo valor de classifica\u00e7\u00e3o pode ser deixado de fora ao lidar com os limites de navega\u00e7\u00e3o da p\u00e1gina.  Uma solu\u00e7\u00e3o comum para isso \u00e9 sempre incluir o ID do documento como crit\u00e9rio de classifica\u00e7\u00e3o final.\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\">Por exemplo, se voc\u00ea quiser classificar por [\"name\", \"-age\"], em vez de classificar por [\"name\", \"-age\", \"_id\"].<\/span><\/li>\n<\/ul>\n<h5><i><span style=\"font-weight: 400;\">Exemplo:<\/span><\/i><\/h5>\n<p><span style=\"font-weight: 400;\">O usu\u00e1rio procura por <\/span><i><span style=\"font-weight: 400;\">descri\u00e7\u00e3o:light<\/span><\/i><span style=\"font-weight: 400;\"> e classifica por <\/span><i><span style=\"font-weight: 400;\">[\"name\", \"_id\"]<\/span><\/i><\/p>\n<pre class=\"lang:default decode:true\">{\r\n\u00a0\u00a0\"query\": {\r\n\u00a0\u00a0\u00a0\u00a0\"query\": \"description:light\"\r\n\u00a0\u00a0},\r\n\u00a0\u00a0\"sort\": [\r\n\u00a0\u00a0\u00a0\u00a0\"name\",\r\n\u00a0\u00a0\u00a0\u00a0\"_id\"\r\n\u00a0\u00a0],\r\n\u00a0\u00a0\"search_after\": [\r\n\u00a0\u00a0\u00a0\u00a0\"Anchor Summer Beer\",\r\n\u00a0\u00a0\u00a0\u00a0\"anchor_brewing-anchor_summer_beer\"\r\n\u00a0\u00a0]\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">H\u00e1 um par\u00e2metro semelhante chamado <\/span><i><span style=\"font-weight: 400;\">search_before<\/span><\/i><span style=\"font-weight: 400;\"> para navegar at\u00e9 a p\u00e1gina anterior de resultados. <\/span><span style=\"font-weight: 400;\">Em vez de fornecer o valor de classifica\u00e7\u00e3o do \u00faltimo resultado, o aplicativo fornece o valor de classifica\u00e7\u00e3o do primeiro resultado da p\u00e1gina atual.  Em todos os outros aspectos, o comportamento \u00e9 o mesmo.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Com as pagina\u00e7\u00f5es search_after\/search_before, o requisito de mem\u00f3ria heap das pesquisas de p\u00e1ginas mais profundas \u00e9 proporcional apenas ao tamanho da p\u00e1gina solicitada. Portanto, isso reduz significativamente o requisito de mem\u00f3ria heap das pesquisas de p\u00e1ginas mais profundas em rela\u00e7\u00e3o aos valores de offset+from.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Esse recurso est\u00e1 dispon\u00edvel desde a vers\u00e3o do servidor Couchbase - 6.6.1<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><b>Evite cl\u00e1usulas de pesquisa duplicadas em consultas compostas<\/b><\/h3>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Sabemos que essa parece ser uma sugest\u00e3o ing\u00eanua. Mas, algumas vezes, observamos que os aplicativos do cliente, ao converterem as consultas de pesquisa do usu\u00e1rio final em uma solicita\u00e7\u00e3o de pesquisa de back-end do FTS, acabam tendo muitas cl\u00e1usulas de pesquisa secund\u00e1rias duplicadas em suas consultas compostas.\u00a0\u00a0<\/span><\/p>\n<p><em><span style=\"font-weight: 400;\">Exemplo:<\/span><\/em><\/p>\n<pre class=\"lang:default decode:true\">\"disjuncts\": [\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"field\": \"merchantID\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"match\": \"9447611071-0\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"field\": \"merchantID\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"match\": \"9447611071-0\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"field\": \"merchantID\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"match\": \"9447611071-0\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"field\": \"merchantID\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"match\": \"9447611071-0\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Isso resultaria em muito trabalho redundante no backend do servidor Full-Text Search devido \u00e0 duplica\u00e7\u00e3o do conte\u00fado da consulta.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Os usu\u00e1rios precisam estar cientes de que o servi\u00e7o Search n\u00e3o realizar\u00e1 nenhuma deduplica\u00e7\u00e3o das consultas fornecidas. Ele respeita e executa a solicita\u00e7\u00e3o de consulta completa no backend.  Portanto, os usu\u00e1rios precisam exercer a devida dilig\u00eancia para garantir que as consultas ideais sejam formadas antes de chegar ao servi\u00e7o de pesquisa.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Fique atento a este espa\u00e7o para obter mais dicas de ajuste de desempenho de consultas de pesquisa e gerenciamento de \u00edndices para o servi\u00e7o Full-Text Search.<\/p>\n<p>Outra leitura interessante sobre an\u00e1lise de texto para iniciantes em FTS <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/full-text_search_text_analysis\/\">aqui\u00a0<\/a><\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"VdH80QUfcs\"><p><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/full-text_search_text_analysis\/\">An\u00e1lise de texto em um mecanismo de pesquisa de texto completo<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&quot;An\u00e1lise de texto em um mecanismo de pesquisa de texto completo&quot; - The Couchbase Blog\" src=\"https:\/\/www.couchbase.com\/blog\/full-text_search_text_analysis\/embed\/#?secret=09VI29PjUZ#?secret=VdH80QUfcs\" data-secret=\"VdH80QUfcs\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>","protected":false},"excerpt":{"rendered":"<p>Tuning the search query performance is a very important aspect of Full-Text Search as it helps business-critical applications in meeting the SLA requirements of latency and throughput. Without much preamble, let me share a few useful recommendations for troubleshooting your [&hellip;]<\/p>","protected":false},"author":26446,"featured_media":9162,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,1816,2165],"tags":[],"ppma_author":[9075],"class_list":["post-9380","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-server","category-full-text-search"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Full-Text Search - 5 Tips To Improve Your Query Performance<\/title>\n<meta name=\"description\" content=\"Search Query Performance optimisation or troubleshooting tips for couchbase Full Text Search. Tune for query performance in couchbase search service.\" \/>\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-tips-for-query-performance\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Full-Text Search - 5 Tips To Improve Your Query Performance\" \/>\n<meta property=\"og:description\" content=\"Search Query Performance optimisation or troubleshooting tips for couchbase Full Text Search. Tune for query performance in couchbase search service.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/full-text-search-tips-for-query-performance\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-02T14:18:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-13T07:40:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/Full-Text-Search-5-Tips-To-Improve-Your-Query-Performance.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sreekanth Sivasankaran\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Full-Text-Search-5-Tips-To-Improve-Your-Query-Performance.png\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sreekanth Sivasankaran\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 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-tips-for-query-performance\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/\"},\"author\":{\"name\":\"Sreekanth Sivasankaran\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7bbda3cf57beae8bd9cba686c0c6fe7a\"},\"headline\":\"Full-Text Search &#8211; 5 Tips To Improve Your Query Performance\",\"datePublished\":\"2020-10-02T14:18:17+00:00\",\"dateModified\":\"2021-07-13T07:40:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/\"},\"wordCount\":1342,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/eventing.jpg\",\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Server\",\"Full-Text Search\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/\",\"name\":\"Full-Text Search - 5 Tips To Improve Your Query Performance\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/eventing.jpg\",\"datePublished\":\"2020-10-02T14:18:17+00:00\",\"dateModified\":\"2021-07-13T07:40:49+00:00\",\"description\":\"Search Query Performance optimisation or troubleshooting tips for couchbase Full Text Search. Tune for query performance in couchbase search service.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/eventing.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/eventing.jpg\",\"width\":1400,\"height\":553},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Full-Text Search &#8211; 5 Tips To Improve Your Query Performance\"}]},{\"@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\/7bbda3cf57beae8bd9cba686c0c6fe7a\",\"name\":\"Sreekanth Sivasankaran\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/a60af16118050d1ea3a927388dc4dfb7\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/01af11c4c81e84e518ab465b39b7a5b3c874de79270af74043cc3d4edb92ff4e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/01af11c4c81e84e518ab465b39b7a5b3c874de79270af74043cc3d4edb92ff4e?s=96&d=mm&r=g\",\"caption\":\"Sreekanth Sivasankaran\"},\"description\":\"Sreekanth Sivasankaran is a Principal Engineer\/Senior Engineering manager at Couchbase R&amp;D. He leads the design and development of distributed and highly performant Search functionality. And he has over 17 years of product development experience in various domains like telecom, handsets, enterprise software, big data technologies, and distributed systems.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/sreekanth-sivasankaran\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Full-Text Search - 5 Tips To Improve Your Query Performance","description":"Search Query Performance optimisation or troubleshooting tips for couchbase Full Text Search. Tune for query performance in couchbase search service.","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-tips-for-query-performance\/","og_locale":"pt_BR","og_type":"article","og_title":"Full-Text Search - 5 Tips To Improve Your Query Performance","og_description":"Search Query Performance optimisation or troubleshooting tips for couchbase Full Text Search. Tune for query performance in couchbase search service.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/full-text-search-tips-for-query-performance\/","og_site_name":"The Couchbase Blog","article_published_time":"2020-10-02T14:18:17+00:00","article_modified_time":"2021-07-13T07:40:49+00:00","og_image":[{"width":1200,"height":627,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/Full-Text-Search-5-Tips-To-Improve-Your-Query-Performance.png","type":"image\/png"}],"author":"Sreekanth Sivasankaran","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Full-Text-Search-5-Tips-To-Improve-Your-Query-Performance.png","twitter_misc":{"Written by":"Sreekanth Sivasankaran","Est. reading time":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/"},"author":{"name":"Sreekanth Sivasankaran","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7bbda3cf57beae8bd9cba686c0c6fe7a"},"headline":"Full-Text Search &#8211; 5 Tips To Improve Your Query Performance","datePublished":"2020-10-02T14:18:17+00:00","dateModified":"2021-07-13T07:40:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/"},"wordCount":1342,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/eventing.jpg","articleSection":["Best Practices and Tutorials","Couchbase Server","Full-Text Search"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/","url":"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/","name":"Full-Text Search - 5 Tips To Improve Your Query Performance","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/eventing.jpg","datePublished":"2020-10-02T14:18:17+00:00","dateModified":"2021-07-13T07:40:49+00:00","description":"Search Query Performance optimisation or troubleshooting tips for couchbase Full Text Search. Tune for query performance in couchbase search service.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/eventing.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/08\/eventing.jpg","width":1400,"height":553},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-tips-for-query-performance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Full-Text Search &#8211; 5 Tips To Improve Your Query Performance"}]},{"@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\/7bbda3cf57beae8bd9cba686c0c6fe7a","name":"Sreekanth Sivasankaran","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/a60af16118050d1ea3a927388dc4dfb7","url":"https:\/\/secure.gravatar.com\/avatar\/01af11c4c81e84e518ab465b39b7a5b3c874de79270af74043cc3d4edb92ff4e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/01af11c4c81e84e518ab465b39b7a5b3c874de79270af74043cc3d4edb92ff4e?s=96&d=mm&r=g","caption":"Sreekanth Sivasankaran"},"description":"Sreekanth Sivasankaran is a Principal Engineer\/Senior Engineering manager at Couchbase R&amp;D. He leads the design and development of distributed and highly performant Search functionality. And he has over 17 years of product development experience in various domains like telecom, handsets, enterprise software, big data technologies, and distributed systems.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/sreekanth-sivasankaran\/"}]}},"authors":[{"term_id":9075,"user_id":26446,"is_guest":0,"slug":"sreekanth-sivasankaran","display_name":"Sreekanth Sivasankaran","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/01af11c4c81e84e518ab465b39b7a5b3c874de79270af74043cc3d4edb92ff4e?s=96&d=mm&r=g","first_name":"Sreekanth","last_name":"Sivasankaran","user_url":"","author_category":"","description":"Sreekanth Sivasankaran \u00e9 engenheiro principal\/gerente s\u00eanior de engenharia da Couchbase R&amp;D. Ele lidera o projeto e o desenvolvimento da funcionalidade de pesquisa distribu\u00edda e de alto desempenho. Ele tem mais de 17 anos de experi\u00eancia em desenvolvimento de produtos em v\u00e1rios dom\u00ednios, como telecomunica\u00e7\u00f5es, telefones celulares, software corporativo, tecnologias de big data e sistemas distribu\u00eddos."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/9380","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\/26446"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=9380"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/9380\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/9162"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=9380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=9380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=9380"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=9380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}