부분적으로 입력되거나 맞춤법이 잘못된 쿼리에 대한 결과를 가져오는 방법 - Amazon Location Service

부분적으로 입력되거나 맞춤법이 잘못된 쿼리에 대한 결과를 가져오는 방법

Suggest API를 사용하면 애플리케이션이 결과 장소 또는 범주에 대한 사용자 쿼리를 완료할 수 있습니다. 이러한 결과는 일치 가능성이 가장 높은 것부터 일치 가능성이 낮은 것까지 정렬되므로 API가 불완전하거나 맞춤법이 잘못된 단어를 해결할 수 있습니다.

잠재적 사용 사례

  • 부분적으로 입력된 관심 지점 쿼리 완료: 부분적으로 입력되거나 잘못된 항목을 기반으로 제안을 제공하여 사용자를 지원합니다.

예제

Sample request
{ "QueryText": "Effel tow", "Filter": { "Circle": { "Radius": 10000, "Center": [2.3431932014695382, 48.858844492141145] }, "IncludeCountries": ["FRA"] }, "AdditionalFeatures": ["Core"] }
Sample response
{ "ResultItems": [ { "Title": "Tour Eiffel (Eiffel Tower)", "SuggestResultItemType": "Place", "Place": { "PlaceId": "<Redacted>", "PlaceType": "PointOfInterest", "Address": { "Label": "Tour Eiffel, 5 Avenue Anatole France, 75007 Paris, France", "Country": {"Code2": "FR", "Code3": "FRA", "Name": "France"}, "Region": {"Code": "IDF", "Name": "Île-de-France"}, "SubRegion": {"Name": "Paris"}, "Locality": "Paris", "District": "7e Arrondissement", "PostalCode": "75007", "Street": "Avenue Anatole France", "StreetComponents": [{"BaseName": "Anatole France", "Type": "Avenue", "Language": "fr"}], "AddressNumber": "5" }, "Position": [2.2945, 48.85824], "Distance": 3563, "Categories": [ {"Id": "historical_monument", "Name": "Historical Monument", "LocalizedName": "Monument historique", "Primary": true}, {"Id": "landmark-attraction", "Name": "Landmark-Attraction", "LocalizedName": "Lieu d'intérêt/Attraction", "Primary": false}, {"Id": "tourist_attraction", "Name": "Tourist Attraction", "LocalizedName": "Attraction touristique", "Primary": false}, {"Id": "sports_complex-stadium", "Name": "Sports Complex-Stadium", "LocalizedName": "Stade ou complexe sportif", "Primary": false} ] }, "Highlights": {"Title": [{"StartIndex": 13, "EndIndex": 23, "Value": "Eiffel Tow"}]} } ], "QueryRefinements": [] }
cURL
curl --request POST \ --url 'https://places.geo.eu-central-1.amazonaws.com/v2/suggest?key=Your_Key' \ --header 'Content-Type: application/json' \ --data '{ "QueryText": "Effel tow", "Filter": { "Circle": {"Radius": 10000, "Center": [2.3431932014695382, 48.858844492141145]}, "IncludeCountries": ["FRA"] }, "AdditionalFeatures": ["Core"] }'
AWS CLI
aws geo-places suggest --key ${YourKey} \ --query-text "Effel tow" \ --filter '{"Circle": {"Radius": 1000, "Center": [2.3431932014695382, 48.858844492141145]}, "IncludeCountries": ["FRA"]}' \ --additional-features "Core"

개발자 팁

Filter.IncludeCountries 또는 Filter.BoundingBox와 같은 필터를 BiasPosition과 함께 사용합니다. 이러한 필터는 가능한 결과를 좁히고 정확도를 높이는 데 도움이 될 수 있습니다.

{ "QueryText": "Effel tow", "BiasPosition": [2.2982750966095398, 48.856078089325294], "Filter": {"IncludeCountries": ["FRA"]} }