[{"data":1,"prerenderedAt":245},["ShallowReactive",2],{"page-\u002Fgetting-started\u002Fintroduction":3},{"id":4,"title":5,"body":6,"description":237,"extension":238,"meta":239,"navigation":240,"path":241,"seo":242,"stem":243,"__hash__":244},"content\u002F1.getting-started\u002F1.introduction.md","Introduction",{"type":7,"value":8,"toc":230},"minimark",[9,21,26,55,59,141,145],[10,11,12,13,20],"p",{},"geolith search is a geocoding API written in Rust. It answers forward geocoding, autocomplete, structured address search and reverse geocoding over the places and addresses that ",[14,15,19],"a",{"href":16,"rel":17},"https:\u002F\u002Fgeolith.app",[18],"nofollow","geolith"," builds from Overture Maps.",[22,23,25],"h2",{"id":24},"what-makes-it-different","What makes it different",[27,28,29,37,43,49],"ul",{},[30,31,32,36],"li",{},[33,34,35],"strong",{},"Pelias-compatible."," The endpoints, parameters and GeoJSON response shape follow Pelias, so Pelias clients work unchanged.",[30,38,39,42],{},[33,40,41],{},"Just Postgres."," Data lives in one Postgres table. PostGIS answers geometry, and the TIN extension from PlanetScale answers BM25 full-text search. There is no Elasticsearch cluster.",[30,44,45,48],{},[33,46,47],{},"Ranked in the index."," Results are ordered by text relevance plus the importance of each place, and every query runs under a time budget.",[30,50,51,54],{},[33,52,53],{},"Safe input."," User text is split into words before it reaches the query, so it can never inject query operators. Search text is never written to the logs.",[22,56,58],{"id":57},"the-geolith-stack","The geolith stack",[60,61,62,78],"table",{},[63,64,65],"thead",{},[66,67,68,72,75],"tr",{},[69,70,71],"th",{},"Project",[69,73,74],{},"Role",[69,76,77],{},"Status",[79,80,81,95,109,120,131],"tbody",{},[66,82,83,89,92],{},[84,85,86],"td",{},[14,87,19],{"href":16,"rel":88},[18],[84,90,91],{},"Builds planet basemaps and the geocoding table from Overture Maps",[84,93,94],{},"Live",[66,96,97,104,107],{},[84,98,99],{},[14,100,103],{"href":101,"rel":102},"https:\u002F\u002Ftileserver.app",[18],"tileserver-rs",[84,105,106],{},"Serves vector and raster tiles, styles and fonts",[84,108,94],{},[66,110,111,114,117],{},[84,112,113],{},"geolith search",[84,115,116],{},"Geocoding, autocomplete and reverse geocoding",[84,118,119],{},"Live (self-hosted)",[66,121,122,125,128],{},[84,123,124],{},"Routing on Valhalla",[84,126,127],{},"Turn-by-turn routing",[84,129,130],{},"Roadmap",[66,132,133,136,139],{},[84,134,135],{},"Hosted API",[84,137,138],{},"Managed search and tiles endpoints",[84,140,130],{},[22,142,144],{"id":143},"endpoints","Endpoints",[60,146,147,157],{},[63,148,149],{},[66,150,151,154],{},[69,152,153],{},"Endpoint",[69,155,156],{},"Purpose",[79,158,159,170,180,190,200,210,220],{},[66,160,161,167],{},[84,162,163],{},[164,165,166],"code",{},"GET \u002Fv1\u002Fsearch",[84,168,169],{},"Forward geocoding from free text",[66,171,172,177],{},[84,173,174],{},[164,175,176],{},"GET \u002Fv1\u002Fautocomplete",[84,178,179],{},"Search as you type",[66,181,182,187],{},[84,183,184],{},[164,185,186],{},"GET \u002Fv1\u002Fsearch\u002Fstructured",[84,188,189],{},"Geocoding from separate address fields",[66,191,192,197],{},[84,193,194],{},[164,195,196],{},"GET \u002Fv1\u002Freverse",[84,198,199],{},"Places nearest to a point",[66,201,202,207],{},[84,203,204],{},[164,205,206],{},"GET \u002Fhealth",[84,208,209],{},"Checks that the database answers",[66,211,212,217],{},[84,213,214],{},[164,215,216],{},"GET \u002Fopenapi.json",[84,218,219],{},"OpenAPI 3.1 document",[66,221,222,227],{},[84,223,224],{},[164,225,226],{},"GET \u002Fdocs",[84,228,229],{},"Interactive API reference (Scalar)",{"title":231,"searchDepth":232,"depth":232,"links":233},"",2,[234,235,236],{"id":24,"depth":232,"text":25},{"id":57,"depth":232,"text":58},{"id":143,"depth":232,"text":144},"What geolith search is and how it fits into the geolith stack.","md",{},true,"\u002Fgetting-started\u002Fintroduction",{"title":5,"description":237},"1.getting-started\u002F1.introduction","rKgN-1SrTeupUYVSHrIQTu2sU0vIvA8pns-tI7H4HTo",1791345919738]