제안 및 일치하는 쿼리 용어를 강조 표시하는 기능을 사용하여 라우팅 선택 - Amazon Location Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

제안 및 일치하는 쿼리 용어를 강조 표시하는 기능을 사용하여 라우팅 선택

제안 API를 사용하면 사용자가 장소 또는 범주에 대한 검색 쿼리를 입력할 때 실시간 자동 완성 제안을 받을 수 있습니다. 결과는 관련성에 따라 순위가 매겨지며, 일치 항목이 가장 먼저 나타납니다. API 응답에는 각 제안이 사용자의 쿼리와 어떻게 일치하는지 보여주는 강조 표시 정보가 포함됩니다.

잠재적 사용 사례

강조 표시를 사용하여 각 제안의 어떤 부분이 입력과 일치하는지 사용자에게 표시하면 원하는 결과를 더 쉽게 선택할 수 있습니다.

예시

결과 목록을 사용자에게 표시할 때 응답의 강조 표시 필드를 사용하여 사용자가 입력이 결과와 어떻게 일치하는지 식별할 수 있습니다. 아래 예제에서 사용자는 “Effel tow”에 대한 쿼리를 생성합니다. 이는 “Tour Eiffel (Eiffel Tower)”이라는 제목의 결과와 일치합니다. Highlights 결과 필드를 사용하면 입력 쿼리가 출력과 일치하는 위치를 표시하도록 결과를 스타일할 수 있으므로 텍스트가 사용자에게 “Tour Eiffel (Eiffel Tow er)”로 표시됩니다.

이 예제에서는 제안 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, * Avenue Anatole France, ***** Paris, France", "Country": { "Code2": "FR", "Code3": "FRA", "Name": "France" }, "Region": { "Code": "IDF", "Name": "Île-de-France" }, "SubRegion": { "Name": "Paris" }, "Locality": "Paris", "District": "*e Arrondissement", "PostalCode": "*****", "Street": "Avenue Anatole France", "StreetComponents": [ { "BaseName": "Anatole France", "Type": "Avenue", "TypePlacement": "BeforeBaseName", "TypeSeparator": " ", "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" } ], "Address": {} } } ], "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": 10000, "Center": [2.3431932014695382, 48.858844492141145]}, "IncludeCountries": ["FRA"]}' \ --additional-features "Core"

개발자 팁

Title 응답 필드를 사용하여 검색 결과를 표시하여 사용자에게 간결하고 인식 가능한 항목을 제공합니다. 유사할 수 있는 결과의 경우 Place.Address.Label 필드를 사용하여 사용자가 둘을 구분하는 데 도움이 되는 추가 주소 세부 정보를 표시합니다. 자세한 내용은 사용자가 유사한 결과 간에 모호하지 않게 하는 방법 단원을 참조하십시오.