{"id":9548,"date":"2020-10-30T06:01:54","date_gmt":"2020-10-30T13:01:54","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=9548"},"modified":"2025-06-13T22:45:07","modified_gmt":"2025-06-14T05:45:07","slug":"geospatial-search-how-do-i-use-thee-let-me-count-the-ways","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/","title":{"rendered":"\uacf5\uac04 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc5c6\uc774 \uc9c0\ub9ac\uacf5\uac04 \uac80\uc0c9\uc5d0 NoSQL \uc0ac\uc6a9"},"content":{"rendered":"<h2><span style=\"font-weight: 400\">\uc18c\uac1c<\/span><\/h2>\n<p><span style=\"font-weight: 400\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/products\/full-text-search\/\">\uc804\uccb4 \ud14d\uc2a4\ud2b8 \uac80\uc0c9<\/a> (FTS)\ub294 \uc778\ub371\uc2f1 \ubc0f \ucffc\ub9ac\ub97c \uc704\ud55c \ud6cc\ub96d\ud55c \ub3c4\uad6c\uc785\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/geospatial-basics-spatial-databases-and-nosql-examples\/\">\uc9c0\ub9ac\uacf5\uac04 \ub370\uc774\ud130<\/a>.  \uc774 \uae00\uc5d0\uc11c\ub294 \uc9c0\ub9ac\uacf5\uac04 \uac80\uc0c9 \uc0ac\uc6a9 \uc0ac\ub840\ub97c \uc81c\uc2dc\ud558\uace0 Couchbase \uc804\uccb4 \ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uc11c\ube44\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc704\uce58 \ub370\uc774\ud130 \uac80\uc0c9\uc744 \uc218\ud589\ud560 \uc218 \uc788\ub294 \ub2e4\uc591\ud55c \ubc29\ubc95\uc744 \ubcf4\uc5ec\ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4.  \uc5ec\uae30\uc11c\ub294 Couchbase Server Enterprise Edition 6.6(\uc2e4\ud589 \uc911\uc778 <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/install\/getting-started-docker.html\"><span style=\"font-weight: 400\">\ub3c4\ucee4\uc5d0\uc11c \ub85c\uceec\ub85c<\/span><\/a><span style=\"font-weight: 400\">)\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc0d8\ud50c \uc9c0\ub9ac\uacf5\uac04 \ub370\uc774\ud130 \uc9d1\ud569\uc5d0 FTS \uc778\ub371\uc2a4\ub97c \ub9cc\ub4e0 \ub2e4\uc74c \uc778\ub371\uc2a4\uc5d0 \ub300\ud574 \uc9c0\ub9ac\uacf5\uac04 \ucffc\ub9ac\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/span><\/p>\n<p>\uc774 \uc0ac\ub840\uac00 \ud765\ubbf8\ub85c\uc6b4 \uc774\uc720\ub294 \uacf5\uac04 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\uc9c0 \uc54a\ub2e4\ub294 \uc810\uc785\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/geospatial-basics-spatial-databases-and-nosql-examples\/\">\uacf5\uac04 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub780 \ubb34\uc5c7\uc778\uac00\uc694?<\/a> NoSQL \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc778 Couchbase Server\uc640 \ub2ec\ub9ac, \uacf5\uac04 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub294 \uace0\uae09 \uc778\uc2a4\ud134\uc2a4\uc5d0\uc11c \uc120, \uad00\uc2ec \uc9c0\uc810 \ub610\ub294 3D \ud1a0\ud3f4\ub85c\uc9c0 \uac19\uc740 \uae30\ud558\ud559\uc801 \uacf5\uac04\uc744 \uc124\uba85\ud558\ub294 \ub370\uc774\ud130\uc5d0 \ud2b9\ubcc4\ud788 \ucd5c\uc801\ud654\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc55e\uc73c\ub85c \uc0b4\ud3b4\ubcf4\uaca0\uc9c0\ub9cc, Couchbase\uc758 \uc804\uccb4 \ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uae30\ub2a5\uc740 \ubcf4\ub2e4 \uc804\ubb38\uc801\uc778 \uc194\ub8e8\uc158\uc5d0\uc11c \uae30\ub300\ud560 \uc218 \uc788\ub294 \uac83\ub9cc\ud07c\uc774\ub098 \uc9c0\ub9ac\uacf5\uac04 \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud558\uace0 \ucffc\ub9ac\ud558\ub294 \ub370 \uc720\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n<h3><span style=\"font-weight: 400\">\uc0ac\uc6a9 \uc0ac\ub840<\/span><\/h3>\n<p><span style=\"font-weight: 400\">\uc6b0\ub9ac \uac00\uc871\uc740 \ud56d\uc0c1 \ubc29\ubb38\uacfc \ud0d0\ud5d8\uc744 \uc990\uacbc\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.nps.gov\/grsm\/index.htm\">\uadf8\ub808\uc774\ud2b8 \uc2a4\ubaa8\ud0a4 \ub9c8\uc6b4\ud2f4 \uad6d\ub9bd\uacf5\uc6d0<\/a> (\ub610\ub294 \uad6d\ub9bd\uacf5\uc6d0\uad00\ub9ac\uccad\uc758 \uc57d\uc790\uc778 GRSM)\uc5d0 \uad00\uc2ec\uc774 \uc788\uace0, \uc5b8\uc820\uac00\ub294 \uadf8\uacf3\uc73c\ub85c \uc774\uc0ac\ud558\uace0 \uc2f6\uc744\uc9c0\ub3c4 \ubaa8\ub985\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uad6d\ub9bd\uacf5\uc6d0\uc5d0 \uc0b4 \uc218\ub294 \uc5c6\uc73c\ub2c8 \uacf5\uc6d0 \uadfc\ucc98\uc758 \uc5ec\ub7ec \ub3c4\uc2dc\uc640 \ub9c8\uc744\uc744 \uace0\ub824\ud558\uace0 \ud3c9\uac00\ud558\uace0 \ubc29\ubb38\ud560 \uc218 \uc788\ub294 \ub3c4\uc2dc \ubaa9\ub85d\uc744 \ub9cc\ub4e4\uc5b4\uc57c \ud569\ub2c8\ub2e4.\u00a0 <\/span><\/p>\n<p><span style=\"font-weight: 400\">\uc8fc\uc694 \ubaa9\ud45c\ub294 \uad6d\ub9bd\uacf5\uc6d0\uacfc \uac00\uae4c\uc6b4 \uacf3\uc5d0 \uc704\uce58\ud558\ub294 \uac83\uc774\uc9c0\ub9cc, \ub9c8\uc744\uc758 \uaddc\ubaa8(\uc778\uad6c)\uc640 \uac19\uc740 \ub2e4\ub978 \uc694\uc18c\ub3c4 \uace0\ub824\ud560 \uac83\uc785\ub2c8\ub2e4. <\/span><\/p>\n<h3><span style=\"font-weight: 400\">\uc0d8\ud50c \ub370\uc774\ud130 \uc138\ud2b8<\/span><\/h3>\n<p><span style=\"font-weight: 400\">GRSM \uc0ac\uc6a9 \uc0ac\ub840\ub97c \uc9c0\uc6d0\ud558\uae30 \uc704\ud574 \ub2e4\uc74c\uc758 \uacf5\uac1c \ub370\uc774\ud130 \uc9d1\ud569\uc744 \uc0ac\uc6a9\ud558\uae30\ub85c \ud588\uc2b5\ub2c8\ub2e4. <\/span><a href=\"https:\/\/www.geonames.org\/\"><span style=\"font-weight: 400\">\uc9c0\ub9ac\uc801 \uc774\ub984<\/span><\/a><span style=\"font-weight: 400\"> \uc804 \uc138\uacc4 \uc5ec\ub7ec \uad6d\uac00\uc758 \uc8fc, \ub3c4\uc2dc, \ub9c8\uc744 \ubc0f \uae30\ud0c0 \ub79c\ub4dc\ub9c8\ud06c\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.  \uc81c\uac00 \ub2e4\uc6b4\ub85c\ub4dc\ud55c <\/span><a href=\"https:\/\/download.geonames.org\/export\/dump\/US.zip\"><span style=\"font-weight: 400\">\ubbf8\uad6d \ub370\uc774\ud130 \ud30c\uc77c<\/span><\/a><span style=\"font-weight: 400\"> \ub97c \uc0ac\uc6a9\ud558\uc5ec \"\ucc44\uc6cc\uc9c4 \uc7a5\uc18c\" \ub370\uc774\ud130\ub9cc \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\ub85c \uac00\uc838\uc640\uc11c( <\/span><a href=\"https:\/\/www.geonames.org\/export\/codes.html\"><span style=\"font-weight: 400\">\uae30\ub2a5 \ucf54\ub4dc<\/span><\/a><span style=\"font-weight: 400\"> 'PPL', 'PPLA', 'PPLA2', 'PPLA3\u2032, 'PPLA4', 'PPLC') \uc911 \uc778\uad6c\uac00 0\uc774 \uc544\ub2cc \ub3c4\uc2dc\/\ub9c8\uc744\uc744 \ub300\uc0c1\uc73c\ub85c \ud569\ub2c8\ub2e4. \uadf8 \uacb0\uacfc 30,734\uac1c\uc758 \ubb38\uc11c\uac00 \uc788\ub294 Couchbase \ubc84\ud0b7 '\ub3c4\uc2dc'\uac00 \ub9cc\ub4e4\uc5b4\uc84c\uc2b5\ub2c8\ub2e4.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">\uac01 \ub3c4\uc2dc\uc758 \ubb38\uc11c \ub370\uc774\ud130 \ubaa8\ub378\uc5d0\ub294 \uc774\ub984, \uc8fc, \uc778\uad6c, \uace0\ub3c4, \uadf8\ub9ac\uace0 \uac00\uc7a5 \uc911\uc694\ud55c \uc704\ub3c4\uc640 \uacbd\ub3c4\uc640 \uac19\uc774 \uc81c GRSM \uc0ac\uc6a9 \uc0ac\ub840\uc5d0\uc11c \uad00\uc2ec \uc788\ub294 \uba87 \uac00\uc9c0 \uc18d\uc131\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.  \ub2e4\uc74c\uc740 \uba87 \uac00\uc9c0 \uc0d8\ud50c JSON \ubb38\uc11c\uc785\ub2c8\ub2e4:<\/span><\/p>\n<p><b>\ub3c4\uc2dc::4699066<\/b><\/p>\n<pre class=\"lang:default decode:true\">{\r\n  \"geonameid\": 4699066,\r\n  \"featureclass\": \"P\",\r\n  \"featurecode\": \"PPLA2\",\r\n  \"name\": \"Houston\",\r\n  \"state\": \"TX\",\r\n  \"population\": 2296224,\r\n  \"elevation\": 12,\r\n  \"geo\": {\r\n    \"lat\": 29.76328,\r\n    \"lon\": -95.36327\r\n  }\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><b>\ub3c4\uc2dc::4649251<\/b><\/p>\n<pre class=\"lang:default decode:true\">{\r\n  \"geonameid\": 4649251,\r\n  \"featureclass\": \"P\",\r\n  \"featurecode\": \"PPL\",\r\n  \"name\": \"Pigeon Forge\",\r\n  \"state\": \"TN\",\r\n  \"population\": 6171,\r\n  \"elevation\": 305,\r\n  \"geo\": {\r\n    \"lat\": 35.78842,\r\n    \"lon\": -83.55433\r\n  }\r\n}\r\n<\/pre>\n<h2><span style=\"font-weight: 400\">\uc0c9\uc778 \ub9cc\ub4e4\uae30<\/span><\/h2>\n<p><span style=\"font-weight: 400\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc758 \ub3c4\uc2dc \ubc84\ud0b7\uc5d0 \ub3c4\uc2dc \ub370\uc774\ud130\ub97c \ub85c\ub4dc\ud558\uba74, \ub2f9\uba74\ud55c 'GRSM \uadfc\ucc98 \uac70\uc8fc' \uc0ac\uc6a9 \uc0ac\ub840\uc5d0 \uc801\ud569\ud55c FTS \uc778\ub371\uc2a4\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.  \uc5ec\uae30\uc11c\ub294 \ud544\uc694\ud55c \uc778\ub371\uc2a4 \uc0dd\uc131\uc758 \uc8fc\uc694 \ub0b4\uc6a9\uc744 \uac04\ub7b5\ud558\uac8c \ub2e4\ub8e8\uace0, \uc804\uccb4 \uc778\ub371\uc2a4 \uc815\uc758\ub294 \uc544\ub798 \ubd80\ub85d\uc5d0 \ub098\uc640 \uc788\uc2b5\ub2c8\ub2e4. (FTS \uc778\ub371\uc2a4 \uc0dd\uc131\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \uc124\uba85\uc740 \ub2e4\uc74c\uc744 \ucc38\uc870\ud558\uc138\uc694. <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/full-text-search-indexing-best-practices-by-use-case\/\"><span style=\"font-weight: 400\">\uc8fc\uc81c\uc5d0 \ub300\ud55c \ub0b4 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c<\/span><\/a><span style=\"font-weight: 400\">.)<\/span><\/p>\n<p><span style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/server\/current\/n1ql\/n1ql-language-reference\/createindex.html\">\uc0c9\uc778 \uc0dd\uc131<\/a> \ud0a4 \ud3ec\uc778\ud2b8\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\uc774\ub984: city_geo<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\ubc84\ud0b7: \ub3c4\uc2dc<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\uc720\ud615 \uc2dd\ubcc4\uc790: \"\uad6c\ubd84 \uae30\ud638\uae4c\uc9c0 \ubb38\uc11c ID\"\ub97c \uc785\ub825\ud558\uace0 \uad6c\ubd84 \uae30\ud638\ub85c \"::\"\ub97c \uc785\ub825\ud569\ub2c8\ub2e4(\uc704 \uc0d8\ud50c \ubb38\uc11c\uc758 \ud0a4\uc5d0 \uc720\uc758\ud558\uc138\uc694).<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\uc720\ud615 \ub9e4\ud551\uc744 \uc785\ub825\ud569\ub2c8\ub2e4:\u00a0<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\"\uae30\ubcf8\uac12\"\uc744 \uc120\ud0dd \ucde8\uc18c\ud569\ub2c8\ub2e4.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">'\ub3c4\uc2dc' \uc720\ud615 \ubb38\uc11c\uc5d0 \ub300\ud55c \ub9e4\ud551\uc744 \ub9cc\ub4e4\uc5b4 \uc774\ub7ec\ud55c \uc9c0\uc815\ub41c \ud544\ub4dc\ub9cc \uc0c9\uc778\ud654\ud569\ub2c8\ub2e4:\u00a0<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">name: \uc774 \ud544\ub4dc\uc5d0 \ud0a4\uc6cc\ub4dc \ubd84\uc11d\uae30\ub97c \uc0ac\uc6a9\ud558\uaca0\uc2b5\ub2c8\ub2e4(\ub098\uc911\uc5d0 \uc774\ub984\uc744 \uae30\uc900\uc73c\ub85c \uc815\ub82c\ud560 \uc608\uc815\uc774\ubbc0\ub85c). \uc774 \ud544\ub4dc\ub85c \uac80\uc0c9\ud558\ub294 \uac83 \uc678\uc5d0\ub3c4 \uc778\ub371\uc2a4\ub97c \ud14c\uc2a4\ud2b8\ud558\uace0 \uc774 \ud544\ub4dc\ubcc4\ub85c \uc815\ub82c\ud560 \uc218 \uc788\ub3c4\ub85d index, store, _all, \uc6a9\uc5b4 \ubca1\ud130 \ubc0f docvalues\ub97c \ud655\uc778\ud558\uaca0\uc2b5\ub2c8\ub2e4.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\uc0c1\ud0dc\uc785\ub2c8\ub2e4: \uac80\uc0c9 \uacb0\uacfc\uc5d0\uc11c \uac80\uc0c9\ud560 \uc218 \uc788\ub3c4\ub85d \uc774 \ud14d\uc2a4\ud2b8 \ud544\ub4dc\ub97c \uc800\uc7a5\ud569\ub2c8\ub2e4.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\uc778\uad6c: \uc720\ud615\uc744 \uc22b\uc790\ub85c \uc124\uc815\ud558\uace0 \ub098\uc911\uc5d0 \ubaa8\uc9d1\ub2e8\uc744 \uae30\uc900\uc73c\ub85c \uacb0\uacfc\ub97c \uc815\ub82c\ud560 \uc218 \uc788\ub3c4\ub85d \uc778\ub371\uc2a4, \uc800\uc7a5\uc18c \ubc0f \ubb38\uc11c \uac12\uc744 \ud655\uc778\ud569\ub2c8\ub2e4.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\uace0\ub3c4: \uc720\ud615\uc744 \uc22b\uc790\ub85c \uc124\uc815\ud558\uace0 \uc774 \uac12\uc774 \uac80\uc0c9 \uacb0\uacfc\uc5d0 \ud3ec\ud568\ub418\ub3c4\ub85d \uc800\uc7a5\uc18c\ub9cc \uccb4\ud06c\ud569\ub2c8\ub2e4.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">geo: \uc720\ud615\uc744 \uc9c0\uc624\ud3ec\uc778\ud2b8\ub85c \uc124\uc815\ud558\uace0(\uac01 \ubb38\uc11c\ub294 'geo' \ud558\uc704 \ubb38\uc11c\uc5d0 'lat' \ubc0f 'lon' \uc18d\uc131\uc774 \uc788\uc73c\ubbc0\ub85c) index, store \ubc0f _all\uc744 \ud655\uc778\ud569\ub2c8\ub2e4.\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9556 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/BKane-Geospatial-city_geo-create-index-capture.gif\" alt=\"create the city_geo search index\" width=\"779\" height=\"868\" \/><\/p>\n<p><span style=\"font-weight: 400\">\uc778\ub371\uc2f1 \ud504\ub85c\uc138\uc2a4\uac00 100% \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uae30\ub2e4\ub9ac\uaca0\uc2b5\ub2c8\ub2e4: <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9591 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/BKane-Geospatial-index-process-complete.png\" alt=\"index processing complete\" width=\"933\" height=\"128\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-index-process-complete.png 933w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-index-process-complete-300x41.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-index-process-complete-768x105.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-index-process-complete-20x3.png 20w\" sizes=\"auto, (max-width: 933px) 100vw, 933px\" \/><\/p>\n<p><span style=\"font-weight: 400\">\uc774\uc81c Couchbase UI\uc5d0\uc11c \uc778\ub371\uc2a4\ub97c \ube60\ub974\uac8c \ud14c\uc2a4\ud2b8\ud558\uc5ec \uc778\ub371\uc2a4\uac00 \uc608\uc0c1\ub300\ub85c \uc791\ub3d9\ud558\ub294\uc9c0 \ud655\uc778\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.  \uacb0\uacfc\ub294 \uc88b\uc544 \ubcf4\uc785\ub2c8\ub2e4! <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9590 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/BKane-Geospatial-city_geo-test-index.png\" alt=\"testing the city_geo index\" width=\"609\" height=\"467\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-city_geo-test-index.png 609w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-city_geo-test-index-300x230.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-city_geo-test-index-20x15.png 20w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><\/p>\n<h2><span style=\"font-weight: 400\">\uc9c0\ub9ac\uacf5\uac04 \uac80\uc0c9<\/span><\/h2>\n<p><span style=\"font-weight: 400\">\uc774\uc81c \ub370\uc774\ud130 \uc9d1\ud569\uc774 \ub85c\ub4dc\ub418\uace0 \uc0c9\uc778\uc774 \uc0dd\uc131\ub418\uc5c8\uc73c\ubbc0\ub85c \uc774\uc81c \uc8fc\uc81c\uc758 \ud575\uc2ec\uc744 \ud30c\uc545\ud558\uace0 \uc0c9\uc778\uc5d0 \ub300\ud574 \uba87 \uac00\uc9c0 \uc704\uce58 \uae30\ubc18 \uc815\ubcf4 \ucffc\ub9ac\ub97c \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.  \ub370\ubaa8\ub97c \uc704\ud574, \uc800\ub294 <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/fts\/fts-searching-with-the-rest-api.html\"><span style=\"font-weight: 400\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uac80\uc0c9 \uc11c\ube44\uc2a4 REST API<\/span><\/a><span style=\"font-weight: 400\"> \uc640 \ud568\uaed8 <\/span><a href=\"https:\/\/curl.haxx.se\/\"><span style=\"font-weight: 400\">cURL<\/span><\/a><span style=\"font-weight: 400\">\uc744 \ud1b5\ud574 \uac80\uc0c9 \ucffc\ub9ac\ub97c \uc2e4\ud589\ud560 \uc218\ub3c4 \uc788\uc9c0\ub9cc, \uac80\uc0c9 \ucffc\ub9ac\ub294 <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/sdk\/overview.html\"><span style=\"font-weight: 400\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 SDK<\/span><\/a><span style=\"font-weight: 400\"> \ub97c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ub610\ub294 \uc11c\ube44\uc2a4\uc758 \uc77c\ubd80\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.  N1QL \ucffc\ub9ac\ub294 \ub2e4\uc74c\ub3c4 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/search-and-rescue-7-reasons-for-n1ql-sql-developers-to-use-search\/\">SQL \uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud55c \uc804\uccb4 \ud14d\uc2a4\ud2b8 \uac80\uc0c9<\/a> \ucf54\ub529\ud560 \ud544\uc694 \uc5c6\uc774\u00a0 <\/span><\/p>\n<p><span style=\"font-weight: 400\">\ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud558\uc5ec \uac00\ub3c5\uc131\uc744 \uc704\ud574 REST API \uc751\ub2f5\uc758 \ud615\uc2dd\uc744 \uc9c0\uc815\ud558\uaca0\uc2b5\ub2c8\ub2e4. <\/span><a href=\"https:\/\/stedolan.github.io\/jq\/\"><span style=\"font-weight: 400\">jq<\/span><\/a><span style=\"font-weight: 400\">\uc624\ud508 \uc18c\uc2a4 \uba85\ub839\uc904 JSON \ud504\ub85c\uc138\uc11c\uc785\ub2c8\ub2e4.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">\uac80\uc0c9 \ubc29\ubc95 1: \ud3ec\uc778\ud2b8 \ubc0f \ubc18\uacbd<\/span><\/h3>\n<p><span style=\"font-weight: 400\">\uc6b0\ub9ac\ub294 \uc885\uc885 \ud2b9\uc815 \uc9c0\uc810 \uadfc\ucc98 \ub610\ub294 \ud2b9\uc815 \uac70\ub9ac \ub0b4\uc5d0 \ubb34\uc5c7\uc774 \uc788\ub294\uc9c0 \uc54c\uace0 \uc2f6\uc5b4\ud569\ub2c8\ub2e4.  \uc81c \uc0ac\uc6a9 \uc0ac\ub840\uc5d0\uc11c\ub294 GRSM \uad6d\ub9bd\uacf5\uc6d0 \uadfc\ucc98\uc5d0 \uc5b4\ub5a4 \ub3c4\uc2dc\uc640 \ub9c8\uc744\uc774 \uc788\ub294\uc9c0 \uc54c\uace0 \uc2f6\uc2b5\ub2c8\ub2e4... \uc544\ub9c8\ub3c4 50\ub9c8\uc77c \uc774\ub0b4\ub97c \ucd9c\ubc1c\uc810\uc73c\ub85c \uc0bc\uace0 \uc2f6\uc744 \uac83\uc785\ub2c8\ub2e4.  \uc774 \uccab \ubc88\uc9f8 \uc9c0\ub9ac\uc801 \uacf5\uac04 \uac80\uc0c9 \ubc29\ubc95\uc744 \"\uc9c0\uc810 \ubc0f \ubc18\uacbd\", \"\uc9c0\uc810 \ubc0f \uac70\ub9ac\" \ub610\ub294 \"\ubc18\uacbd \uae30\ubc18\"\uc774\ub77c\uace0 \ud569\ub2c8\ub2e4.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">\uc81c \"\ud3ec\uc778\ud2b8\"\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <\/span><a href=\"https:\/\/www.nps.gov\/grsm\/planyourvisit\/nfg.htm\"><span style=\"font-weight: 400\">\uc0c8\ub85c\uc6b4 \uaca9\ucc28<\/span><\/a><span style=\"font-weight: 400\">\ud14c\ub124\uc2dc\uc8fc\uc640 \ub178\uc2a4\uce90\ub864\ub77c\uc774\ub098\uc8fc\uc758 \uacbd\uacc4\uc5d0 \uc788\ub294 \uc2a4\ubaa8\ud0a4 \uc0b0\ub9e5\uc744 \ub118\uc5b4\uac00\ub294 \uace0\uac1c\uc774\uc790 \uc560\ud314\ub798\uce58\uc544 \ud2b8\ub808\uc77c\uc758 \uc2dc\uc791\uc810\uc774\uc790 \uc778\uae30 \uc788\ub294 \uc804\ub9dd\ub300\uc785\ub2c8\ub2e4.  \uc800\ud76c \uac00\uc871\uc774 GRSM\uc744 \ubc29\ubb38\ud560 \ub54c \uaf2d \ub4e4\ub7ec\uc57c \ud558\ub294 \uacf3\uc774\uc5d0\uc694.  \ub274\ud30c\uc6b4\ub4dc \uac2d\uc5d0\uc11c 50\ub9c8\uc77c \uc774\ub0b4\uc5d0 \uc788\ub294 \ub9c8\uc744\/\ub3c4\uc2dc\ub97c \ucc3e\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9549 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/BKane-Geospatial-50mi-radius-map-e1603990815312.png\" alt=\"area for point and radius geospatial search\" width=\"1105\" height=\"995\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-50mi-radius-map-e1603990815312.png 1105w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-50mi-radius-map-e1603990815312-300x270.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-50mi-radius-map-e1603990815312-1024x922.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-50mi-radius-map-e1603990815312-768x692.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-50mi-radius-map-e1603990815312-20x18.png 20w\" sizes=\"auto, (max-width: 1105px) 100vw, 1105px\" \/><\/p>\n<p><span style=\"font-weight: 400\">\ub2e4\uc74c\uc740 \ubc18\uacbd \uae30\ubc18 \ucffc\ub9ac\uc785\ub2c8\ub2e4:\u00a0<\/span><\/p>\n<pre class=\"lang:default decode:true\">$ curl -s -XPOST -H \"Content-Type: application\/json\" -u Administrator:password https:\/\/localhost:8094\/api\/index\/city_geo\/query -d '\r\n{\r\n  \"fields\": [\"name\",\"state\",\"elevation\",\"population\"],\r\n  \"size\": 500,\r\n  \"query\": {\r\n    \"location\": {\r\n      \"lon\": -83.4217,\r\n      \"lat\": 35.6067\r\n    },\r\n    \"distance\": \"50mi\",\r\n    \"field\": \"geo\"\r\n    },\r\n  \"sort\": [\r\n    {\r\n      \"by\": \"geo_distance\",\r\n      \"field\": \"geo\",\r\n      \"unit\": \"mi\",\r\n      \"location\": {\r\n        \"lon\": -83.4217,\r\n        \"lat\": 35.6067\r\n      }\r\n    }\r\n  ]\r\n}' | jq '(\"result_count: \"+ (.total_hits | tostring)), (.hits[]| (.fields.name + \", \" + .fields.state + \" - population: \" + (.fields.population | tostring) + \", elevation: \" + (.fields.elevation | tostring)))'<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">\uadf8 \uacb0\uacfc 79\uac1c \ub3c4\uc2dc\uac00 \ub274\ud30c\uc6b4\ub4dc \uac2d\uacfc\uc758 \uac70\ub9ac\ubcc4\ub85c \uc815\ub82c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.  \uc5ec\uae30\uc5d0 \ucc98\uc74c 15\uac1c\uc758 \uacb0\uacfc\ub97c \ud3ec\ud568\ud588\uc2b5\ub2c8\ub2e4:\u00a0<\/span><\/p>\n<pre class=\"lang:default decode:true\">\"result_count: 79\"\r\n\"Gatlinburg, TN - population: 4184, elevation: 394\"\r\n\"Pittman Center, TN - population: 565, elevation: 393\"\r\n\"Cherokee, NC - population: 2138, elevation: 605\"\r\n\"Bryson City, NC - population: 1458, elevation: 528\"\r\n\"Pigeon Forge, TN - population: 6171, elevation: 305\"\r\n\"Dillsboro, NC - population: 240, elevation: 607\"\r\n\"Maggie Valley, NC - population: 1251, elevation: 918\"\r\n\"Townsend, TN - population: 452, elevation: 326\"\r\n\"Sylva, NC - population: 2617, elevation: 623\"\r\n\"Sevierville, TN - population: 16490, elevation: 275\"\r\n\"Fair Garden, TN - population: 529, elevation: 340\"\r\n\"Webster, NC - population: 375, elevation: 656\"\r\n\"Cove Creek, NC - population: 1171, elevation: 767\"\r\n\"Walland, TN - population: 259, elevation: 281\"\r\n\"Cullowhee, NC - population: 6228, elevation: 645\"\r\n<\/pre>\n<h3><span style=\"font-weight: 400\">\uac80\uc0c9 \ubc29\ubc95 2: \ubc14\uc6b4\ub529 \ubc15\uc2a4<\/span><\/h3>\n<p><span style=\"font-weight: 400\">79\uac1c\ub294 \uace0\ub824\ud574\uc57c \ud560 \ub3c4\uc2dc\uc640 \ub9c8\uc744\uc774 \ub108\ubb34 \ub9ce\uc73c\ub2c8 \ub2e4\ub978 \ubc29\ubc95\uc744 \uc0dd\uac01\ud574 \ubd05\uc2dc\ub2e4. \uc218\ub144 \ub3d9\uc548 \uad6d\ub9bd\uacf5\uc6d0\uc744 \ubc29\ubb38\ud558\uba74\uc11c \ub300\ub7b5\uc801\uc73c\ub85c \ud14c\ub124\uc2dc\uc8fc \ub179\uc2a4\ube4c\uacfc \ub178\uc2a4\uce90\ub864\ub77c\uc774\ub098\uc8fc \uc6e8\uc778\uc988\ube4c \uc0ac\uc774\uc5d0 \uc0b4\uace0 \uc2f6\ub2e4\ub294 \uac83\uc744 \uc54c\uace0 \uc788\uc2b5\ub2c8\ub2e4.  \uc774 \ub450 \uc704\uce58\uac00 \uc8fc\uc5b4\uc9c0\uba74 '\uacbd\uacc4 \uc0c1\uc790' \ub610\ub294 '\uc0ac\uac01\ud615 \uae30\ubc18' \uc9c0\ub9ac\uacf5\uac04 \uac80\uc0c9 \ubc29\ubc95\uc744 \uc0ac\uc6a9\ud558\uc5ec \ub0b4 GeoNames \ub370\uc774\ud130 \uc9d1\ud569\uc5d0 \ub300\ud574 \ucffc\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">\ub179\uc2a4\ube4c\uacfc \uc644\uc608\uc2a4\ube4c \uadfc\ucc98\uc758 \uc7a5\uc18c \uc88c\ud45c\ub97c \uac80\uc0c9 \ub9e4\uac1c\ubcc0\uc218\ub85c \uc81c\uacf5\ud558\uba74 \uc9c1\uc0ac\uac01\ud615\uc758 \uc67c\ucabd \uc704\uc640 \uc624\ub978\ucabd \uc544\ub798 \ubaa8\uc11c\ub9ac\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4.  \ud574\ub2f9 \uc0ac\uac01\ud615 \ub0b4\uc5d0 \uc704\uce58\ud55c \ubaa8\ub4e0 \ub3c4\uc2dc\uac00 \ucffc\ub9ac\uc5d0\uc11c \ubc18\ud658\ub429\ub2c8\ub2e4.\u00a0\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9550 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/BKane-Geospatial-bounding-box-map-large-e1603998092825.png\" alt=\"selected area for bounding box geospatial search\" width=\"865\" height=\"788\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-bounding-box-map-large-e1603998092825.png 865w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-bounding-box-map-large-e1603998092825-300x273.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-bounding-box-map-large-e1603998092825-768x700.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-bounding-box-map-large-e1603998092825-20x18.png 20w\" sizes=\"auto, (max-width: 865px) 100vw, 865px\" \/><\/p>\n<p><span style=\"font-weight: 400\">\ub2e4\uc74c\uc740 \uc9c1\uc0ac\uac01\ud615 \uae30\ubc18 \ucffc\ub9ac\uc785\ub2c8\ub2e4:\u00a0<\/span><\/p>\n<pre class=\"lang:default decode:true\">$ curl -s -XPOST -H \"Content-Type: application\/json\" -u Administrator:password https:\/\/localhost:8094\/api\/index\/city_geo\/query -d '\r\n{\r\n  \"fields\": [\"name\",\"state\",\"elevation\",\"population\"],\r\n  \"size\": 50,\r\n  \"query\": {\r\n    \"top_left\": {\r\n      \"lon\": -83.937408,\r\n      \"lat\": 36.032024\r\n     },\r\n    \"bottom_right\": {\r\n      \"lon\": -82.947580,\r\n      \"lat\": 35.401835\r\n     },\r\n    \"field\": \"geo\"\r\n  },\r\n  \"sort\": [\r\n    \"name\"\r\n  ]\r\n}' | jq '(\"result_count: \"+ (.total_hits | tostring)), (.hits[]| (.fields.name + \", \" + .fields.state + \" - population: \" + (.fields.population | tostring) + \", elevation: \" + (.fields.elevation | tostring)))'\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">\uadf8 \uacb0\uacfc 21\uac1c \ub3c4\uc2dc\uac00 \uc774\ub984\ubcc4\ub85c \uc815\ub82c\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4:\u00a0<\/span><\/p>\n<pre class=\"lang:default decode:true\">\"result_count: 21\"\r\n\"Bryson City, NC - population: 1458, elevation: 528\"\r\n\"Cherokee, NC - population: 2138, elevation: 605\"\r\n\"Cove Creek, NC - population: 1171, elevation: 767\"\r\n\"Dandridge, TN - population: 2924, elevation: 304\"\r\n\"Eagleton Village, TN - population: 5052, elevation: 289\"\r\n\"Fair Garden, TN - population: 529, elevation: 340\"\r\n\"Gatlinburg, TN - population: 4184, elevation: 394\"\r\n\"Hazelwood, NC - population: 1655, elevation: 842\"\r\n\"Knoxville, TN - population: 185291, elevation: 276\"\r\n\"Lake Junaluska, NC - population: 2734, elevation: 778\"\r\n\"Maggie Valley, NC - population: 1251, elevation: 918\"\r\n\"Newport, TN - population: 6834, elevation: 321\"\r\n\"Parrottsville, TN - population: 261, elevation: 363\"\r\n\"Pigeon Forge, TN - population: 6171, elevation: 305\"\r\n\"Pittman Center, TN - population: 565, elevation: 393\"\r\n\"Sevierville, TN - population: 16490, elevation: 275\"\r\n\"Seymour, TN - population: 10919, elevation: 285\"\r\n\"Townsend, TN - population: 452, elevation: 326\"\r\n\"Walland, TN - population: 259, elevation: 281\"\r\n\"Waynesville, NC - population: 9809, elevation: 837\"\r\n\"Wildwood, TN - population: 1098, elevation: 278\"\r\n<\/pre>\n<h3><span style=\"font-weight: 400\">\uac80\uc0c9 \ubc29\ubc95 3: \ub2e4\uac01\ud615<\/span><\/h3>\n<p><span style=\"font-weight: 400\">\uba87 \uac00\uc9c0 \ucd94\uac00 \uc870\uc0ac \ub05d\uc5d0 \uc800\ub294 \uc138\ube44\uc5b4 \uce74\uc6b4\ud2f0 \ub0b4\uc5d0 \uac70\uc8fc\ud558\ub418 40\ubc88 \uc8fc\uac04 \uace0\uc18d\ub3c4\ub85c \ub0a8\ucabd\uacfc \uad6d\ub9bd\uacf5\uc6d0 \uacbd\uacc4\uc120 \ubd81\ucabd\uc5d0 \uc0b4\uace0 \uc2f6\ub2e4\uace0 \uacb0\uc815\ud588\uc2b5\ub2c8\ub2e4.\u00a0\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9552 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/10\/BKane-Geospatial-sevier-county-polygon-map-e1603998440765.png\" alt=\"selected area for polygon-based geospatial search\" width=\"1200\" height=\"988\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-sevier-county-polygon-map-e1603998440765.png 1200w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-sevier-county-polygon-map-e1603998440765-300x247.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-sevier-county-polygon-map-e1603998440765-1024x843.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-sevier-county-polygon-map-e1603998440765-768x632.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-sevier-county-polygon-map-e1603998440765-20x16.png 20w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><span style=\"font-weight: 400\">\uc774\ub807\uac8c \ud558\ub824\uba74 FTS \uc778\ub371\uc2a4\uc5d0 \ub300\ud574 \ub2e4\uac01\ud615 \uae30\ubc18 \uac80\uc0c9\uc744 \uc2e4\ud589\ud574\uc57c \ud569\ub2c8\ub2e4.  \uc774 \uc138 \ubc88\uc9f8 \ubc29\ubc95\uc740 \ucd5c\uadfc Couchbase Server 6.5.1\uc5d0 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\uc81c \uc9c0\ub9ac\uacf5\uac04 \uac80\uc0c9 \ucffc\ub9ac\uc758 \uc601\uc5ed\uc744 \uc6d0\uacfc \uc9c1\uc0ac\uac01\ud615 \uc678\uc5d0 \ub2e4\uac01\ud615\uc73c\ub85c \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.  \ub2e4\uac01\ud615\uc740 \uc77c\ub828\uc758 \uc704\ub3c4-\uacbd\ub3c4 \uc88c\ud45c\ub85c \ud45c\ud604\ub418\uba70, \uac01 \uc88c\ud45c\ub294 \ub2e4\uac01\ud615\uc758 \ud55c \ubaa8\uc11c\ub9ac\uc758 \uc704\uce58\ub97c \uacb0\uc815\ud569\ub2c8\ub2e4.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">\uc704\uc758 \uc138\ube44\uc5b4 \uce74\uc6b4\ud2f0 \uc9c0\ub3c4(\uc5f0\ud55c \ube68\uac04\uc0c9 \uc120\uc774 \uce74\uc6b4\ud2f0 \uacbd\uacc4)\uc5d0\uc11c \uad00\uc2ec \uc788\ub294 \uc9c0\uc5ed\uc5d0 \ub300\ub7b5\uc801\uc73c\ub85c \ud574\ub2f9\ud558\ub294 \ub2e4\uac01\ud615\uc744 \uacb9\uccd0 \ub193\uace0 \ub2e4\uac01\ud615\uc758 \uc810\uc758 \uc88c\ud45c\ub97c \ucea1\ucc98\ud588\uc2b5\ub2c8\ub2e4.  \uc774 \uc88c\ud45c\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc9c0\ub9ac\uacf5\uac04 \ub2e4\uac01\ud615 \uae30\ubc18 \ucffc\ub9ac\ub97c \uad6c\uc131\ud558\uaca0\uc2b5\ub2c8\ub2e4:<\/span><\/p>\n<pre class=\"lang:default decode:true\">$ curl -s -XPOST -H \"Content-Type: application\/json\" -u Administrator:password https:\/\/localhost:8094\/api\/index\/city_geo\/query -d '\r\n{\r\n  \"fields\": [\"name\",\"state\",\"elevation\",\"population\"],\r\n  \"size\": 50,\r\n  \"query\": {\r\n    \"field\": \"geo\",\r\n    \"polygon_points\": [\r\n      \"35.987374, -83.658937\",\r\n      \"35.971769, -83.654212\",\r\n      \"35.887168, -83.793874\",\r\n      \"35.686403, -83.678068\",\r\n      \"35.704374, -83.505435\",\r\n      \"35.769145, -83.275637\",\r\n      \"35.868423, -83.290819\", \r\n      \"35.919168, -83.350486\", \r\n      \"35.948053, -83.510420\",\r\n      \"35.990925, -83.568382\"\r\n    ]\r\n  },\r\n  \"sort\": [\r\n    {\r\n      \"by\" : \"field\",\r\n      \"field\" : \"population\",\r\n      \"missing\" : \"last\",\r\n      \"type\": \"number\"\r\n    }\r\n  ]\r\n}' | jq '(\"result_count: \"+ (.total_hits | tostring)), (.hits[]| (.fields.name + \", \" + .fields.state + \" - population: \" + (.fields.population | tostring) + \", elevation: \" + (.fields.elevation | tostring)))'\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">\uadf8 \uacb0\uacfc 6\uac1c \ub3c4\uc2dc\uac00 \uc778\uad6c \uc624\ub984\ucc28\uc21c\uc73c\ub85c \uc815\ub82c\ub41c \ub9e4\uc6b0 \uad00\ub9ac\ud558\uae30 \uc26c\uc6b4 \ubaa9\ub85d\uc774 \ud45c\uc2dc\ub429\ub2c8\ub2e4:\u00a0<\/span><\/p>\n<pre class=\"lang:default decode:true\">\"result_count: 6\"\r\n\"Fair Garden, TN - population: 529, elevation: 340\"\r\n\"Pittman Center, TN - population: 565, elevation: 393\"\r\n\"Gatlinburg, TN - population: 4184, elevation: 394\"\r\n\"Pigeon Forge, TN - population: 6171, elevation: 305\"\r\n\"Seymour, TN - population: 10919, elevation: 285\"\r\n\"Sevierville, TN - population: 16490, elevation: 275\"\r\n<\/pre>\n<h2><span style=\"font-weight: 400\">\uc694\uc57d \ubc0f \ub2e4\uc74c \ub2e8\uacc4<\/span><\/h2>\n<p><span style=\"font-weight: 400\">\uc774 \uc138 \uac00\uc9c0 \uac80\uc0c9 \ubc29\ubc95\uc744 \ud1b5\ud574 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ud3ec\ud568\ud560 \uc218 \uc788\ub294 \ud3ec\uad04\uc801\uc778 \uc704\uce58 \uae30\ubc18 \uc815\ubcf4 \uac80\uc0c9 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.  \uc9c0\uc624\ud3ec\uc778\ud2b8 \ub370\uc774\ud130\ub85c \uc778\ub371\uc2a4\ub97c \ub9cc\ub4e4\uace0 \uc9c0\uc624\uc2a4\ud398\uc774\uc2a4 \ud3ec\uc778\ud2b8 \ub610\ub294 \uc9c0\uc624\uc2a4\ud398\uc774\uc2a4 \ub2e4\uac01\ud615 \uae30\ubc18 \ucffc\ub9ac\ub97c \uc2e4\ud589\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.  \ub2e4\uc74c \uc911 \ud558\ub098\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc27d\uac8c \uc774 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/manage\/manage-settings\/install-sample-buckets.html\"><span style=\"font-weight: 400\">\uc0d8\ud50c \ub370\uc774\ud130 \uc138\ud2b8<\/span><\/a><span style=\"font-weight: 400\">\uc5ec\ud589 \uc0d8\ud50c\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc704\uce58 \uae30\ubc18 \ub370\uc774\ud130\ub97c \ub9ce\uc774 \ud655\ubcf4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0\u00a0<\/span><\/p>\n<p>\ud55c \ub2e8\uacc4 \ub354 \ub098\uc544\uac00 JSON \ub370\uc774\ud130\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uc2dc\uac01\ud654\ud569\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/geospatial-aspnet-aurelia-google-maps\/\">\uc2e4\uc2dc\uac04 \ucd9c\ub825<\/a> \uc640 \uac19\uc740 \uc6f9 \uae30\ubc18 \uc9c0\ub9ac\uacf5\uac04 \uae30\uc220 \ud50c\ub7ab\ud3fc\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uac80\uc0c9 \uc694\uccad\uc5d0\uc11c <a href=\"https:\/\/mapbox.com\">\ub9f5\ubc15\uc2a4<\/a> \ub610\ub294 <a href=\"https:\/\/esri.com\">ESRI<\/a>.  \uc218\ud3c9\uc801 \ud655\uc7a5, \uc77c\ubc18 \ud0a4 \uac12 \uc800\uc7a5\uc18c, \ub370\uc774\ud130 \uc77c\uad00\uc131 \ub4f1\uc744 \uc9c0\uc6d0\ud558\ub294 \ubd84\uc0b0 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uad00\ub9ac \uc2dc\uc2a4\ud15c\uc5d0\uc11c \ub370\uc774\ud130\ub97c \uad00\ub9ac\ud558\uba74 \uc774\uc810\uc744 \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><span style=\"font-weight: 400\">\uc704\uce58 \uae30\ubc18 \uc815\ubcf4 \uac80\uc0c9\uc740 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc758 \uc804\uccb4 \ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uae30\ub2a5 \uc911 \ud558\ub098\uc5d0 \ubd88\uacfc\ud569\ub2c8\ub2e4.  \ub2e4\uc74c\uc5d0\uc11c \ucffc\ub9ac\ub97c \uc0ac\uc6a9\ud574 \ubcfc \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/fts-and-n1ql-improving-performance-when-querying-multiple-arrays\/\"><span style=\"font-weight: 400\">\ubc30\uc5f4<\/span><\/a><span style=\"font-weight: 400\"> \ubc0f \uc2a4\ucf54\uc5b4\ub9c1, \ud328\uc2ef \ubc0f \ubd80\uc2a4\ud305\uc774 \ud3ec\ud568\ub41c \uc790\uc5f0\uc5b4 \ucffc\ub9ac\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4.  \uc774 \uc8fc\uc81c\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uc544\ub798 \ucc38\uc870 \uc139\uc158\uc758 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uac1c\ubc1c\uc790 \ubb38\uc11c \ubc0f \uad50\uc721 \ub9c1\ud06c\ub97c \ucc38\uc870\ud558\uc138\uc694.\u00a0\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400\">\ucc38\uc870<\/span><\/h2>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/products\/full-text-search\/\">\uac80\uc0c9<\/a> \ub9ac\uc18c\uc2a4: <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/products\/full-text-search\/\"><span style=\"font-weight: 400\">https:\/\/www.couchbase.com\/products\/full-text-search<\/span><\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/geospatial-basics-spatial-databases-and-nosql-examples\/\">\uacf5\uac04 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub780 \ubb34\uc5c7\uc778\uac00\uc694?<\/a><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 FTS \ubb38\uc11c: <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/fts\/full-text-intro.html\"><span style=\"font-weight: 400\">https:\/\/docs.couchbase.com\/server\/current\/fts\/full-text-intro.html<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 FTS \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c: <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/category\/full-text-search\/\"><span style=\"font-weight: 400\">https:\/\/www.couchbase.com\/blog\/category\/full-text-search\/<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 <a href=\"https:\/\/learn.couchbase.com\/store\/509465-cb121-intro-to-couchbase-full-text-search-fts\">NoSQL \uac80\uc0c9 - \uc628\ub77c\uc778 \uad50\uc721<\/a>: <\/span><a href=\"https:\/\/learn.couchbase.com\/store\/509465-cb121-intro-to-couchbase-full-text-search-fts\"><span style=\"font-weight: 400\">https:\/\/learn.couchbase.com\/store\/509465-cb121-intro-to-couchbase-full-text-search-fts<\/span><\/a><\/li>\n<li>Couchbase NoSQL SDK - -. <a href=\"https:\/\/docs.couchbase.com\/java-sdk\/2.7\/full-text-searching-with-sdk.html\">\uc9c0\ub9ac\uacf5\uac04 \uac80\uc0c9 - Java<\/a>, <a href=\"https:\/\/docs.couchbase.com\/dotnet-sdk\/current\/howtos\/full-text-searching-with-sdk.html\">.NET<\/a>, <a href=\"https:\/\/docs.couchbase.com\/python-sdk\/current\/howtos\/full-text-searching-with-sdk.html\">Python<\/a>, <a href=\"https:\/\/docs.couchbase.com\/nodejs-sdk\/current\/howtos\/full-text-searching-with-sdk.html\">Node.js<\/a>, <a href=\"https:\/\/docs.couchbase.com\/go-sdk\/current\/howtos\/full-text-searching-with-sdk.html\">\uc774\ub3d9<\/a>, <a href=\"https:\/\/docs.couchbase.com\/scala-sdk\/current\/howtos\/full-text-searching-with-sdk.html\">Scala<\/a>, <a href=\"https:\/\/docs.couchbase.com\/ruby-sdk\/current\/howtos\/full-text-searching-with-sdk.html\">Ruby<\/a>, <a href=\"https:\/\/docs.couchbase.com\/c-sdk\/current\/howtos\/full-text-searching-with-sdk.html\">C<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400\">\ubd80\ub85d<\/span><\/h2>\n<p><span style=\"font-weight: 400\">\uc778\ub371\uc2a4 \uc0dd\uc131 cURL \uba85\ub839 \ubc0f JSON \uc815\uc758: <\/span><\/p>\n<pre class=\"lang:default decode:true\">$ curl -XPUT -H \"Content-Type: application\/json\" \\\r\n-u &lt;username&gt;:&lt;password&gt; https:\/\/localhost:8094\/api\/index\/city_geo -d \\\r\n'{\r\n  \"type\": \"fulltext-index\",\r\n  \"name\": \"city_geo\",\r\n  \"sourceType\": \"couchbase\",\r\n  \"sourceName\": \"cities\",\r\n  \"planParams\": {\r\n    \"maxPartitionsPerPIndex\": 171,\r\n    \"indexPartitions\": 6\r\n  },\r\n  \"params\": {\r\n    \"doc_config\": {\r\n      \"docid_prefix_delim\": \"::\",\r\n      \"docid_regexp\": \"\",\r\n      \"mode\": \"docid_prefix\",\r\n      \"type_field\": \"type\"\r\n    },\r\n    \"mapping\": {\r\n      \"analysis\": {},\r\n      \"default_analyzer\": \"standard\",\r\n      \"default_datetime_parser\": \"dateTimeOptional\",\r\n      \"default_field\": \"_all\",\r\n      \"default_mapping\": {\r\n        \"dynamic\": true,\r\n        \"enabled\": false\r\n      },\r\n      \"default_type\": \"_default\",\r\n      \"docvalues_dynamic\": true,\r\n      \"index_dynamic\": true,\r\n      \"store_dynamic\": false,\r\n      \"type_field\": \"_type\",\r\n      \"types\": {\r\n        \"city\": {\r\n          \"dynamic\": false,\r\n          \"enabled\": true,\r\n          \"properties\": {\r\n            \"elevation\": {\r\n              \"dynamic\": false,\r\n              \"enabled\": true,\r\n              \"fields\": [\r\n                {\r\n                  \"include_term_vectors\": true,\r\n                  \"name\": \"elevation\",\r\n                  \"store\": true,\r\n                  \"type\": \"number\"\r\n                }\r\n              ]\r\n            },\r\n            \"geo\": {\r\n              \"dynamic\": false,\r\n              \"enabled\": true,\r\n              \"fields\": [\r\n                {\r\n                  \"docvalues\": true,\r\n                  \"include_in_all\": true,\r\n                  \"include_term_vectors\": true,\r\n                  \"index\": true,\r\n                  \"name\": \"geo\",\r\n                  \"store\": true,\r\n                  \"type\": \"geopoint\"\r\n                }\r\n              ]\r\n            },\r\n            \"name\": {\r\n              \"dynamic\": false,\r\n              \"enabled\": true,\r\n              \"fields\": [\r\n                {\r\n                  \"analyzer\": \"keyword\",\r\n                  \"docvalues\": true,\r\n                  \"include_in_all\": true,\r\n                  \"include_term_vectors\": true,\r\n                  \"index\": true,\r\n                  \"name\": \"name\",\r\n                  \"store\": true,\r\n                  \"type\": \"text\"\r\n                }\r\n              ]\r\n            },\r\n            \"population\": {\r\n              \"dynamic\": false,\r\n              \"enabled\": true,\r\n              \"fields\": [\r\n                {\r\n                  \"docvalues\": true,\r\n                  \"include_term_vectors\": true,\r\n                  \"index\": true,\r\n                  \"name\": \"population\",\r\n                  \"store\": true,\r\n                  \"type\": \"number\"\r\n                }\r\n              ]\r\n            },\r\n            \"state\": {\r\n              \"dynamic\": false,\r\n              \"enabled\": true,\r\n              \"fields\": [\r\n                {\r\n                  \"name\": \"state\",\r\n                  \"store\": true,\r\n                  \"type\": \"text\"\r\n                }\r\n              ]\r\n            }\r\n          }\r\n        }\r\n      }\r\n    },\r\n    \"store\": {\r\n      \"indexType\": \"scorch\"\r\n    }\r\n  },\r\n  \"sourceParams\": {}\r\n}'\r\n<\/pre>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Introduction Couchbase Full Text Search (FTS) is a great tool for indexing and querying geospatial data.\u00a0 In this article, I\u2019ll present a geospatial search use case and demonstrate the various ways that we can perform a search of location data [&hellip;]<\/p>","protected":false},"author":16362,"featured_media":9551,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,2165,8683,1818,1812,7277,2201],"tags":[8622],"ppma_author":[9100],"class_list":["post-9548","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-full-text-search","category-geospatial","category-java","category-n1ql-query","category-text-analysis","category-tools-sdks","tag-distributed-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>Using NoSQL for Geospatial Search Without a Spatial Database - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Couchbase provides a variety of ways to perform geospatial search in your application. We&#039;ll review a use case for location data and demo the capabilities.\" \/>\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\/ko\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using NoSQL for Geospatial Search Without a Spatial Database\" \/>\n<meta property=\"og:description\" content=\"Couchbase provides a variety of ways to perform geospatial search in your application. We&#039;ll review a use case for location data and demo the capabilities.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-30T13:01:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T05:45:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Geospatial-search-how-do-I-use-thee-Let-me-count-the-ways..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=\"Brian Kane, Solutions Engineer, 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=\"Brian Kane, Solutions Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/\"},\"author\":{\"name\":\"Brian Kane, Solutions Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/69569e5446e8ee83e32f8e5ed50a250e\"},\"headline\":\"Using NoSQL for Geospatial Search Without a Spatial Database\",\"datePublished\":\"2020-10-30T13:01:54+00:00\",\"dateModified\":\"2025-06-14T05:45:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/\"},\"wordCount\":1444,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-grsm.jpg\",\"keywords\":[\"distributed search\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Full-Text Search\",\"Geospatial\",\"Java\",\"SQL++ \/ N1QL Query\",\"Text Analysis\",\"Tools &amp; SDKs\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/\",\"name\":\"Using NoSQL for Geospatial Search Without a Spatial Database - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-grsm.jpg\",\"datePublished\":\"2020-10-30T13:01:54+00:00\",\"dateModified\":\"2025-06-14T05:45:07+00:00\",\"description\":\"Couchbase provides a variety of ways to perform geospatial search in your application. We'll review a use case for location data and demo the capabilities.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-grsm.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-grsm.jpg\",\"width\":2335,\"height\":680,\"caption\":\"Great Smoky Mountains National Park\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using NoSQL for Geospatial Search Without a Spatial Database\"}]},{\"@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\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@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\/69569e5446e8ee83e32f8e5ed50a250e\",\"name\":\"Brian Kane, Solutions Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d6ceb7493ed6dce23e12c34a4d31643e\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/366c828464bd7bc90174aca4473a71c317f4578e440915acf85a1de7e170c1e0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/366c828464bd7bc90174aca4473a71c317f4578e440915acf85a1de7e170c1e0?s=96&d=mm&r=g\",\"caption\":\"Brian Kane, Solutions Engineer, Couchbase\"},\"description\":\"Brian Kane is a Solutions Engineer at Couchbase and has been working in application development and with database technologies since 1996. He is based in the Houston, Texas area.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/brian-kanecouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Using NoSQL for Geospatial Search Without a Spatial Database - The Couchbase Blog","description":"Couchbase provides a variety of ways to perform geospatial search in your application. We'll review a use case for location data and demo the capabilities.","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\/ko\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/","og_locale":"ko_KR","og_type":"article","og_title":"Using NoSQL for Geospatial Search Without a Spatial Database","og_description":"Couchbase provides a variety of ways to perform geospatial search in your application. We'll review a use case for location data and demo the capabilities.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/","og_site_name":"The Couchbase Blog","article_published_time":"2020-10-30T13:01:54+00:00","article_modified_time":"2025-06-14T05:45:07+00:00","og_image":[{"width":1200,"height":627,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/Geospatial-search-how-do-I-use-thee-Let-me-count-the-ways..png","type":"image\/png"}],"author":"Brian Kane, Solutions Engineer, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Brian Kane, Solutions Engineer, Couchbase","Est. reading time":"8\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/"},"author":{"name":"Brian Kane, Solutions Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/69569e5446e8ee83e32f8e5ed50a250e"},"headline":"Using NoSQL for Geospatial Search Without a Spatial Database","datePublished":"2020-10-30T13:01:54+00:00","dateModified":"2025-06-14T05:45:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/"},"wordCount":1444,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-grsm.jpg","keywords":["distributed search"],"articleSection":["Best Practices and Tutorials","Full-Text Search","Geospatial","Java","SQL++ \/ N1QL Query","Text Analysis","Tools &amp; SDKs"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/","url":"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/","name":"Using NoSQL for Geospatial Search Without a Spatial Database - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-grsm.jpg","datePublished":"2020-10-30T13:01:54+00:00","dateModified":"2025-06-14T05:45:07+00:00","description":"Couchbase provides a variety of ways to perform geospatial search in your application. We'll review a use case for location data and demo the capabilities.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-grsm.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/10\/BKane-Geospatial-grsm.jpg","width":2335,"height":680,"caption":"Great Smoky Mountains National Park"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/geospatial-search-how-do-i-use-thee-let-me-count-the-ways\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Using NoSQL for Geospatial Search Without a Spatial Database"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","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":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@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\/69569e5446e8ee83e32f8e5ed50a250e","name":"Brian Kane, \uc194\ub8e8\uc158 \uc5d4\uc9c0\ub2c8\uc5b4, Couchbase","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d6ceb7493ed6dce23e12c34a4d31643e","url":"https:\/\/secure.gravatar.com\/avatar\/366c828464bd7bc90174aca4473a71c317f4578e440915acf85a1de7e170c1e0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/366c828464bd7bc90174aca4473a71c317f4578e440915acf85a1de7e170c1e0?s=96&d=mm&r=g","caption":"Brian Kane, Solutions Engineer, Couchbase"},"description":"Brian Kane\uc740 Couchbase\uc758 \uc194\ub8e8\uc158 \uc5d4\uc9c0\ub2c8\uc5b4\ub85c 1996\ub144\ubd80\ud130 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uac1c\ubc1c \ubc0f \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uae30\uc220 \ubd84\uc57c\uc5d0\uc11c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ud604\uc7ac \ud14d\uc0ac\uc2a4\uc8fc \ud734\uc2a4\ud134\uc5d0 \uac70\uc8fc\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.","url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/brian-kanecouchbase-com\/"}]}},"authors":[{"term_id":9100,"user_id":16362,"is_guest":0,"slug":"brian-kanecouchbase-com","display_name":"Brian Kane, Solutions Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/366c828464bd7bc90174aca4473a71c317f4578e440915acf85a1de7e170c1e0?s=96&d=mm&r=g","first_name":"Brian","last_name":"Kane, Solutions Engineer, Couchbase","user_url":"","author_category":"","description":"Brian Kane\uc740 Couchbase\uc758 \uc194\ub8e8\uc158 \uc5d4\uc9c0\ub2c8\uc5b4\ub85c 1996\ub144\ubd80\ud130 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uac1c\ubc1c \ubc0f \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uae30\uc220 \ubd84\uc57c\uc5d0\uc11c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ud604\uc7ac \ud14d\uc0ac\uc2a4\uc8fc \ud734\uc2a4\ud134\uc5d0 \uac70\uc8fc\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/9548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/16362"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=9548"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/9548\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/9551"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=9548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=9548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=9548"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=9548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}