{"id":8057,"date":"2020-01-16T20:49:10","date_gmt":"2020-01-17T04:49:10","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=8057"},"modified":"2023-05-25T03:34:06","modified_gmt":"2023-05-25T10:34:06","slug":"introducing-geo-bounded-polygon-query-in-full-text-search","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/introducing-geo-bounded-polygon-query-in-full-text-search\/","title":{"rendered":"Apresentando a consulta de pol\u00edgonos delimitados geograficamente na pesquisa de texto completo"},"content":{"rendered":"<h2><b>Consulta de pol\u00edgono delimitado geograficamente<\/b><\/h2>\n<p><span style=\"font-weight: 400\">A capacidade de realizar pesquisa de texto com <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/geospatial-basics-spatial-databases-and-nosql-examples\/\">consulta geoespacial<\/a> \u00e9 um recurso muito avan\u00e7ado e eficaz da pesquisa de texto completo (FTS). E estamos trazendo o recurso mais flex\u00edvel de consulta de pol\u00edgonos delimitados geograficamente para o FTS nas pr\u00f3ximas vers\u00f5es. <\/span><\/p>\n<p><span style=\"font-weight: 400\">At\u00e9 o momento, o FTS suporta dois tipos de consultas geogr\u00e1ficas, a saber <a href=\"https:\/\/docs.couchbase.com\/server\/current\/fts\/fts-geospatial-queries.html#creating_geospatial_rest_query_radius_based\">Consultas de dist\u00e2ncia de pontos<\/a> e <a href=\"https:\/\/docs.couchbase.com\/server\/current\/fts\/fts-geospatial-queries.html#creating_geospatial_rest_query_bounding_box_based\">Consultas de ret\u00e2ngulo limitado<\/a>.\u00a0<\/span><span style=\"font-weight: 400\">A consulta Point Distance ajuda voc\u00ea a realizar pesquisas como - encontrar todos os pontos de interesse pr\u00f3ximos a voc\u00ea <\/span><span style=\"font-weight: 400\">em sua ordem ordenada de dist\u00e2ncia, enquanto a consulta Bounded Rectangle ajuda a encontrar todos os pontos de interesse dentro do limite do ret\u00e2ngulo especificado nos cantos superior esquerdo e inferior direito.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Sabemos que, na maioria dos casos de uso na vida real, os limites geoespaciais t\u00eam formas aleat\u00f3rias, ou seja, n\u00e3o aparecem apenas como regi\u00f5es retangulares ou quadradas simples. Certamente, os ret\u00e2ngulos\/quadrados podem ser usados como uma aproxima\u00e7\u00e3o de primeira m\u00e3o para a consulta espacial em quest\u00e3o. Mas, para obter resultados mais precisos, devemos poder especificar os limites da regi\u00e3o de forma mais granular.<\/span><\/p>\n<p><span style=\"font-weight: 400\">E isso leva \u00e0 introdu\u00e7\u00e3o de consultas de pol\u00edgonos com limites geogr\u00e1ficos na pesquisa de texto completo.<\/span><\/p>\n<h2><strong>Essenciais<\/strong><\/h2>\n<p><span style=\"font-weight: 400\">Esse recurso adiciona a capacidade de executar uma consulta aleat\u00f3ria de pol\u00edgono delimitador para selecionar documentos que se enquadram nessa \u00e1rea de pol\u00edgono.  Os par\u00e2metros de entrada seriam uma matriz de pares de coordenadas representando os v\u00e9rtices do pol\u00edgono delimitador que definem a \u00e1rea do pol\u00edgono. (de prefer\u00eancia no sentido anti-hor\u00e1rio). <\/span><span style=\"font-weight: 400\">Os resultados devem ser uma lista de documentos que est\u00e3o dentro da \u00e1rea.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Algumas considera\u00e7\u00f5es sobre as consultas de pol\u00edgonos delimitados s\u00e3o:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A orienta\u00e7\u00e3o das coordenadas do pol\u00edgono \u00e9 regida pelo padr\u00e3o geoJSON. ref - <\/span><a href=\"https:\/\/tools.ietf.org\/html\/rfc7946#section-3.1.6\"><span style=\"font-weight: 400\">geojson<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">As coordenadas tamb\u00e9m podem ser especificadas em um formato fechado (fornecendo a \u00faltima coordenada igual \u00e0 primeira), mas n\u00e3o \u00e9 necess\u00e1rio.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Ele usa a t\u00e9cnica de proje\u00e7\u00e3o de raios para encontrar a inclus\u00e3o de pontos no pol\u00edgono.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Agora n\u00e3o h\u00e1 suporte para buracos nos pol\u00edgonos. Mas h\u00e1 uma maneira de os usu\u00e1rios realizarem essas consultas usando consultas booleanas. (cl\u00e1usula must_not para os pol\u00edgonos internos para consulta de formas como donuts).<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">O campo de geolocaliza\u00e7\u00e3o pesquis\u00e1vel no documento precisa ser indexado usando o tipo \"geopoint\" pr\u00e9-constru\u00eddo.<\/span><\/li>\n<\/ul>\n<h2><strong>Modus Operandi<\/strong><\/h2>\n<p>Vamos explorar rapidamente como \u00e9 f\u00e1cil testar uma consulta de pol\u00edgono delimitado com o FTS. \u00c9 um processo de apenas tr\u00eas etapas:<\/p>\n<ol>\n<li><span style=\"font-weight: 400\">Indexar os documentos da mesma forma que fazemos para a consulta de ret\u00e2ngulo delimitado\/dist\u00e2ncia de ponto.<\/span><\/li>\n<li><span style=\"font-weight: 400\">Identifique uma \u00e1rea de pol\u00edgono (v\u00e9rtices) na qual voc\u00ea precisa fazer a consulta.<\/span><\/li>\n<li><span style=\"font-weight: 400\">Experimente a consulta em qualquer um dos formatos geojson mencionados no exemplo abaixo.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">Por exemplo, se voc\u00ea tiver um campo chamado \"geo\" no documento que cont\u00e9m o <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/geospatial-basics-spatial-databases-and-nosql-examples\/\">localiza\u00e7\u00e3o geogr\u00e1fica<\/a> ent\u00e3o, primeiro voc\u00ea precisa inclu\u00ed-las na defini\u00e7\u00e3o do \u00edndice, como abaixo.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-8058 aligncenter\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/01\/geo_index_defn-300x86.png\" alt=\"\" width=\"568\" height=\"163\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/geo_index_defn-300x86.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/geo_index_defn-1024x295.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/geo_index_defn-768x221.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/geo_index_defn-1536x442.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/geo_index_defn-20x6.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/geo_index_defn-1320x380.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/geo_index_defn.png 1688w\" sizes=\"auto, (max-width: 568px) 100vw, 568px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Quando a indexa\u00e7\u00e3o estiver conclu\u00edda, voc\u00ea estar\u00e1 pronto para tentar fazer suas pesquisas!<\/span><\/p>\n<p><span style=\"font-weight: 400\">Digamos que voc\u00ea esteja interessado em encontrar documentos em uma determinada regi\u00e3o.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-8059 aligncenter\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/01\/geo_sample-300x212.png\" alt=\"\" width=\"385\" height=\"272\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/geo_sample-300x212.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/geo_sample-768x542.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/geo_sample-20x14.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/geo_sample.png 960w\" sizes=\"auto, (max-width: 385px) 100vw, 385px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Voc\u00ea pode tentar as consultas de pol\u00edgono como abaixo.<\/span><\/p>\n<p>&#8220;`<\/p>\n<p><span style=\"color: #800000\"><em><span style=\"font-weight: 400\">curl -XPOST -H &#8220;Content-Type: application\/json&#8221;<br \/>\n-u &lt;username&gt;:&lt;password&gt; https:\/\/&lt;node&gt;:&lt;port&gt;\/api\/index\/&lt;indexName&gt;\/query -d &#8216;<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\">{<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\"query\": {<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0&#8220;field&#8221;: &#8220;geo&#8221;,<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0&#8220;polygon_points&#8221;: [<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0&#8220;37.79393211306212,-122.44234633404847&#8221;,<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0&#8220;37.77995881733997,-122.43977141339417&#8221;,<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0&#8220;37.788031092020155,-122.42925715405579&#8221;,<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0&#8220;37.79026946582319,-122.41149020154114&#8221;,<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0&#8220;37.79571192027403,-122.40735054016113&#8221;,<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0&#8220;37.79393211306212,-122.44234633404847&#8221;<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0]<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0}<\/span><\/em><\/span><br \/>\n<em><span style=\"font-weight: 400\"><span style=\"color: #800000\">}<\/span>&#8216;<\/span><\/em><\/p>\n<p>&#8220;`<\/p>\n<p><span style=\"font-weight: 400\">Todas as consultas geogr\u00e1ficas no FTS s\u00e3o compat\u00edveis com <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/geospatial-basics-spatial-databases-and-nosql-examples\/\">geoJSON<\/a> e, portanto, qualquer um dos formatos de coordenadas de pol\u00edgono abaixo pode ser usado, al\u00e9m do exemplo acima<\/span><\/p>\n<p><span style=\"font-weight: 400\">&#8220;`<\/span><\/p>\n<p><span style=\"color: #800000\"><em><span style=\"font-weight: 400\">&#8220;polygon_points&#8221;: [<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0{\"lat\": 37.79393211306212, \"lon\": -122.44234633404847},<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0 \u00a0 {\"lat\": 37.77995881733997, \"lon\": -122.43977141339417},<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0{\"lat\": 37.788031092020155, \"lon\": -122.4292571540557},<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0{\"lat\": 37.79026946582319,\u201clon\u201d: -122.41149020154114},<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0{\"lat\": 37.79571192027403,\u201clon\u201d: -122.40735054016113},<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0{\"lat\": 37.79393211306212, \"lon\": -122.44234633404847}<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0 ]<\/span><\/em><\/span><\/p>\n<p><code><\/code><\/p>\n<p>&#8220;`<\/p>\n<p>Ou<\/p>\n<p>&#8220;`<\/p>\n<p><span style=\"color: #800000\"><em><span style=\"font-weight: 400\">&#8220;polygon_points&#8221;: [<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0 -122.44234633404847,\u00a0 37.79393211306212],<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0 -122.43977141339417, 37.77995881733997],<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[ -122.42925715405579, 37.78803109202015],<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[ -122.41149020154114, 37.79026946582319],<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[ -122.40735054016113, 37.79571192027403],<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[ -122.44234633404847,37.79393211306212]<\/span><\/em><\/span><br \/>\n<span style=\"color: #800000\"><em><span style=\"font-weight: 400\"> \u00a0\u00a0\u00a0\u00a0\u00a0]<\/span><\/em><\/span><\/p>\n<p>&#8220;`<\/p>\n<p>Ou<\/p>\n<p><span style=\"font-weight: 400\">&#8220;`<\/span><\/p>\n<p><em><span style=\"font-weight: 400;color: #800000\">&#8220;polygon_points&#8221;: [\u201c9q8zjbkp\u201d, \u201c9q8yvvdh\u201d, \u201c9q8yyp1e\u201d, \u201c9q8yyrw8\u201d, \u201c9q8zn83x\u201d, \u201c9q8zjb0j\u201d]<\/span><\/em><\/p>\n<p>&#8220;`<\/p>\n<p>Ansioso para colocar a m\u00e3o na massa com consultas de pol\u00edgonos delimitados? Preste aten\u00e7\u00e3o \u00e0s pr\u00f3ximas vers\u00f5es do servidor Couchbase.<\/p>\n<h2>Saiba mais<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/geospatial-basics-spatial-databases-and-nosql-examples\/\">O que \u00e9 um banco de dados espacial?<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/products\/full-text-search\/\">O que \u00e9 pesquisa de texto completo?<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Geo Bounded Polygon Query The ability to perform text search with geospatial query capabilities is a very powerful and effective feature from full text search(FTS). And we are bringing the more flexible geo bounded polygon query feature to FTS in [&hellip;]<\/p>","protected":false},"author":26446,"featured_media":10932,"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":[9187],"ppma_author":[9075],"class_list":["post-8057","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-server","category-full-text-search","tag-spatial-data"],"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>Introducing Geo Bounded Polygon Query in Full Text Search - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Introduction of geo bounded polygon query using couchbase full text search (fts), how to index and query documents with geo bounded polygon query\" \/>\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\/introducing-geo-bounded-polygon-query-in-full-text-search\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing Geo Bounded Polygon Query in Full Text Search\" \/>\n<meta property=\"og:description\" content=\"Introduction of geo bounded polygon query using couchbase full text search (fts), how to index and query documents with geo bounded polygon query\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/introducing-geo-bounded-polygon-query-in-full-text-search\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-17T04:49:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-25T10:34:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/01\/104-hero-map-geospatial.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1273\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sreekanth Sivasankaran\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\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=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/\"},\"author\":{\"name\":\"Sreekanth Sivasankaran\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7bbda3cf57beae8bd9cba686c0c6fe7a\"},\"headline\":\"Introducing Geo Bounded Polygon Query in Full Text Search\",\"datePublished\":\"2020-01-17T04:49:10+00:00\",\"dateModified\":\"2023-05-25T10:34:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/\"},\"wordCount\":630,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/104-hero-map-geospatial.jpg\",\"keywords\":[\"spatial data\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Server\",\"Full-Text Search\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/\",\"name\":\"Introducing Geo Bounded Polygon Query in Full Text Search - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/104-hero-map-geospatial.jpg\",\"datePublished\":\"2020-01-17T04:49:10+00:00\",\"dateModified\":\"2023-05-25T10:34:06+00:00\",\"description\":\"Introduction of geo bounded polygon query using couchbase full text search (fts), how to index and query documents with geo bounded polygon query\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/104-hero-map-geospatial.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/104-hero-map-geospatial.jpg\",\"width\":1273,\"height\":628,\"caption\":\"Geospatial query polygons Couchbase NoSQL\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing Geo Bounded Polygon Query in Full Text Search\"}]},{\"@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":"Introducing Geo Bounded Polygon Query in Full Text Search - The Couchbase Blog","description":"Introdu\u00e7\u00e3o \u00e0 consulta de pol\u00edgono delimitado geograficamente usando a pesquisa de texto completo (fts) do couchbase, como indexar e consultar documentos com a consulta de pol\u00edgono delimitado geograficamente","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\/introducing-geo-bounded-polygon-query-in-full-text-search\/","og_locale":"pt_BR","og_type":"article","og_title":"Introducing Geo Bounded Polygon Query in Full Text Search","og_description":"Introduction of geo bounded polygon query using couchbase full text search (fts), how to index and query documents with geo bounded polygon query","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/introducing-geo-bounded-polygon-query-in-full-text-search\/","og_site_name":"The Couchbase Blog","article_published_time":"2020-01-17T04:49:10+00:00","article_modified_time":"2023-05-25T10:34:06+00:00","og_image":[{"width":1273,"height":628,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/01\/104-hero-map-geospatial.jpg","type":"image\/jpeg"}],"author":"Sreekanth Sivasankaran","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Sreekanth Sivasankaran","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/"},"author":{"name":"Sreekanth Sivasankaran","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7bbda3cf57beae8bd9cba686c0c6fe7a"},"headline":"Introducing Geo Bounded Polygon Query in Full Text Search","datePublished":"2020-01-17T04:49:10+00:00","dateModified":"2023-05-25T10:34:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/"},"wordCount":630,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/104-hero-map-geospatial.jpg","keywords":["spatial data"],"articleSection":["Best Practices and Tutorials","Couchbase Server","Full-Text Search"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/","url":"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/","name":"Introducing Geo Bounded Polygon Query in Full Text Search - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/104-hero-map-geospatial.jpg","datePublished":"2020-01-17T04:49:10+00:00","dateModified":"2023-05-25T10:34:06+00:00","description":"Introdu\u00e7\u00e3o \u00e0 consulta de pol\u00edgono delimitado geograficamente usando a pesquisa de texto completo (fts) do couchbase, como indexar e consultar documentos com a consulta de pol\u00edgono delimitado geograficamente","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/104-hero-map-geospatial.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/104-hero-map-geospatial.jpg","width":1273,"height":628,"caption":"Geospatial query polygons Couchbase NoSQL"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/introducing-geo-bounded-polygon-query-in-full-text-search\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing Geo Bounded Polygon Query in Full Text Search"}]},{"@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","author_category":"","last_name":"Sivasankaran","first_name":"Sreekanth","job_title":"","user_url":"","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\/8057","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=8057"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/8057\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/10932"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=8057"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=8057"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=8057"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=8057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}