:doc:`LocationService <../../location>` / Client / search_place_index_for_suggestions

**********************************
search_place_index_for_suggestions
**********************************



.. py:method:: LocationService.Client.search_place_index_for_suggestions(**kwargs)

  

  

  .. warning::

    

    This operation is no longer current and may be deprecated in the future. We recommend you upgrade to `Suggest </location/latest/APIReference/API_geoplaces_Suggest.html>`__ or `Autocomplete </location/latest/APIReference/API_geoplaces_Autocomplete.html>`__ unless you require Grab data.

     

    
    * ``SearchPlaceIndexForSuggestions`` is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).
     
    * The version 2 ``Suggest`` operation gives better results for typeahead place search suggestions with fuzzy matching, while the version 2 ``Autocomplete`` operation gives better results for address completion based on partial input.
     
    * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under ``geo-places`` or ``geo_places``, not under ``location``.
     
    * Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab.
    

    

   

  Generates suggestions for addresses and points of interest based on partial or misspelled free-form text. This operation is also known as autocomplete, autosuggest, or fuzzy matching.

   

  Optional parameters let you narrow your search results by bounding box or country, or bias your search toward a specific position on the globe.

   

  .. note::

    

    You can search for suggested place names near a specified position by using ``BiasPosition``, or filter results within a bounding box by using ``FilterBBox``. These parameters are mutually exclusive; using both ``BiasPosition`` and ``FilterBBox`` in the same command returns an error.

    

  

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForSuggestions>`_  


  **Request Syntax**
  ::

    response = client.search_place_index_for_suggestions(
        IndexName='string',
        Text='string',
        BiasPosition=[
            123.0,
        ],
        FilterBBox=[
            123.0,
        ],
        FilterCountries=[
            'string',
        ],
        MaxResults=123,
        Language='string',
        FilterCategories=[
            'string',
        ],
        Key='string'
    )
    
  :type IndexName: string
  :param IndexName: **[REQUIRED]** 

    The name of the place index resource you want to use for the search.

    

  
  :type Text: string
  :param Text: **[REQUIRED]** 

    The free-form partial text to use to generate place suggestions. For example, ``eiffel tow``.

    

  
  :type BiasPosition: list
  :param BiasPosition: 

    An optional parameter that indicates a preference for place suggestions that are closer to a specified position.

     

    If provided, this parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

     

    For example, ``[-123.1174, 49.2847]`` represents the position with longitude ``-123.1174`` and latitude ``49.2847``.

     

    .. note::

      

      ``BiasPosition`` and ``FilterBBox`` are mutually exclusive. Specifying both options results in an error.

      

    

  
    - *(float) --* 

    

  :type FilterBBox: list
  :param FilterBBox: 

    An optional parameter that limits the search results by returning only suggestions within a specified bounding box.

     

    If provided, this parameter must contain a total of four consecutive numbers in two pairs. The first pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the southwest corner of the bounding box; the second pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the northeast corner of the bounding box.

     

    For example, ``[-12.7935, -37.4835, -12.0684, -36.9542]`` represents a bounding box where the southwest corner has longitude ``-12.7935`` and latitude ``-37.4835``, and the northeast corner has longitude ``-12.0684`` and latitude ``-36.9542``.

     

    .. note::

      

      ``FilterBBox`` and ``BiasPosition`` are mutually exclusive. Specifying both options results in an error.

      

    

  
    - *(float) --* 

    

  :type FilterCountries: list
  :param FilterCountries: 

    An optional parameter that limits the search results by returning only suggestions within the provided list of countries.

     

    
    * Use the `ISO 3166 <https://www.iso.org/iso-3166-country-codes.html>`__ 3-digit country code. For example, Australia uses three upper-case characters: ``AUS``.
    

    

  
    - *(string) --* 

    

  :type MaxResults: integer
  :param MaxResults: 

    An optional parameter. The maximum number of results returned per request.

     

    The default: ``5``

    

  
  :type Language: string
  :param Language: 

    The preferred language used to return results. The value must be a valid `BCP 47 <https://tools.ietf.org/search/bcp47>`__ language tag, for example, ``en`` for English.

     

    This setting affects the languages used in the results. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

     

    For an example, we'll use the Greek language. You search for ``Athens, Gr`` to get suggestions with the ``language`` parameter set to ``en``. The results found will most likely be returned as ``Athens, Greece``.

     

    If you set the ``language`` parameter to ``el``, for Greek, then the result found will more likely be returned as ``Αθήνα, Ελλάδα``.

     

    If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

    

  
  :type FilterCategories: list
  :param FilterCategories: 

    A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match *any* of the categories listed.

     

    For more information about using categories, including a list of Amazon Location categories, see `Categories and filtering <https://docs.aws.amazon.com/location/previous/developerguide/category-filtering.html>`__, in the *Amazon Location Service developer guide*.

    

  
    - *(string) --* 

    

  :type Key: string
  :param Key: 

    The optional `API key <https://docs.aws.amazon.com/location/previous/developerguide/using-apikeys.html>`__ to authorize the request.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Summary': {
              'Text': 'string',
              'BiasPosition': [
                  123.0,
              ],
              'FilterBBox': [
                  123.0,
              ],
              'FilterCountries': [
                  'string',
              ],
              'MaxResults': 123,
              'DataSource': 'string',
              'Language': 'string',
              'FilterCategories': [
                  'string',
              ]
          },
          'Results': [
              {
                  'Text': 'string',
                  'PlaceId': 'string',
                  'Categories': [
                      'string',
                  ],
                  'SupplementalCategories': [
                      'string',
                  ]
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Summary** *(dict) --* 

        Contains a summary of the request. Echoes the input values for ``BiasPosition``, ``FilterBBox``, ``FilterCountries``, ``Language``, ``MaxResults``, and ``Text``. Also includes the ``DataSource`` of the place index.

        
        

        - **Text** *(string) --* 

          The free-form partial text input specified in the request.

          
        

        - **BiasPosition** *(list) --* 

          Contains the coordinates for the optional bias position specified in the request.

           

          This parameter contains a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

           

          For example, ``[-123.1174, 49.2847]`` represents the position with longitude ``-123.1174`` and latitude ``49.2847``.

          
          

          - *(float) --* 
      
        

        - **FilterBBox** *(list) --* 

          Contains the coordinates for the optional bounding box specified in the request.

          
          

          - *(float) --* 
      
        

        - **FilterCountries** *(list) --* 

          Contains the optional country filter specified in the request.

          
          

          - *(string) --* 
      
        

        - **MaxResults** *(integer) --* 

          Contains the optional result count limit specified in the request.

          
        

        - **DataSource** *(string) --* 

          The geospatial data provider attached to the place index resource specified in the request. Values can be one of the following:

           

          
          * Esri
           
          * Grab
           
          * Here
          

           

          For more information about data providers, see `Amazon Location Service data providers <https://docs.aws.amazon.com/location/previous/developerguide/what-is-data-provider.html>`__.

          
        

        - **Language** *(string) --* 

          The preferred language used to return results. Matches the language in the request. The value is a valid `BCP 47 <https://tools.ietf.org/search/bcp47>`__ language tag, for example, ``en`` for English.

          
        

        - **FilterCategories** *(list) --* 

          The optional category filter specified in the request.

          
          

          - *(string) --* 
      
    
      

      - **Results** *(list) --* 

        A list of place suggestions that best match the search text.

        
        

        - *(dict) --* 

          Contains a place suggestion resulting from a place suggestion query that is run on a place index resource.

          
          

          - **Text** *(string) --* 

            The text of the place suggestion, typically formatted as an address string.

            
          

          - **PlaceId** *(string) --* 

            The unique identifier of the Place. You can use this with the ``GetPlace`` operation to find the place again later, or to get full information for the Place.

             

            The ``GetPlace`` request must use the same ``PlaceIndex`` resource as the ``SearchPlaceIndexForSuggestions`` that generated the Place ID.

             

            .. note::

              

              For ``SearchPlaceIndexForSuggestions`` operations, the ``PlaceId`` is returned by place indexes that use Esri, Grab, or HERE as data providers.

              

            
          

          - **Categories** *(list) --* 

            The Amazon Location categories that describe the Place.

             

            For more information about using categories, including a list of Amazon Location categories, see `Categories and filtering <https://docs.aws.amazon.com/location/previous/developerguide/category-filtering.html>`__, in the *Amazon Location Service developer guide*.

            
            

            - *(string) --* 
        
          

          - **SupplementalCategories** *(list) --* 

            Categories from the data provider that describe the Place that are not mapped to any Amazon Location categories.

            
            

            - *(string) --* 
        
      
    
  
  **Exceptions**
  
  *   :py:class:`LocationService.Client.exceptions.InternalServerException`

  
  *   :py:class:`LocationService.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`LocationService.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`LocationService.Client.exceptions.ValidationException`

  
  *   :py:class:`LocationService.Client.exceptions.ThrottlingException`

  