def test_suggest_bad_argument(self): client = SearchClient("endpoint", "index name", CREDENTIAL) with pytest.raises(TypeError) as e: client.suggest("bad_query") assert str( e) == "Expected a SuggestQuery for 'query', but got {}".format( repr("bad_query"))
def test_suggest_query_argument(self, mock_suggest_post): client = SearchClient("endpoint", "index name", CREDENTIAL) result = client.suggest(search_text="search text", suggester_name="sg") assert mock_suggest_post.called assert mock_suggest_post.call_args[0] == () assert mock_suggest_post.call_args[1]["headers"] == client._headers assert (mock_suggest_post.call_args[1]["suggest_request"].search_text == "search text")
class SuggestTest(PerfStressTest): def __init__(self, arguments): super().__init__(arguments) api_key = self.get_from_env("AZURE_SEARCH_API_KEY") service_endpoint = os.getenv("AZURE_SEARCH_SERVICE_ENDPOINT") index_name = os.getenv("AZURE_SEARCH_INDEX_NAME") key = os.getenv("AZURE_SEARCH_API_KEY") self.service_client = SyncClient(service_endpoint, index_name, AzureKeyCredential(api_key)) self.async_service_client = AsyncClient(service_endpoint, index_name, AzureKeyCredential(api_key)) async def close(self): await self.async_service_client.close() await super().close() @staticmethod def add_arguments(parser): super(SuggestTest, SuggestTest).add_arguments(parser) parser.add_argument( '--num-documents', nargs='?', type=int, help='The number of results expect to be returned.', default=-1) def run_sync(self): if self.args.num_documents == -1: results = len( self.service_client.suggest(search_text="mot", suggester_name="sg")) else: results = len( self.service_client.suggest(search_text="mot", suggester_name="sg", top=self.args.num_documents)) async def run_async(self): if self.args.num_documents == -1: results = len(await self.async_service_client.suggest( search_text="mot", suggester_name="sg")) else: results = len(await self.async_service_client.suggest( search_text="mot", suggester_name="sg", top=self.args.num_documents))
def test_suggest(self, api_key, endpoint, index_name, **kwargs): client = SearchClient( endpoint, index_name, AzureKeyCredential(api_key) ) results = client.suggest(search_text="mot", suggester_name="sg") assert results == [ {"hotelId": "2", "text": "Cheapest hotel in town. Infact, a motel."}, {"hotelId": "9", "text": "Secret Point Motel"}, ]
def suggest_query(): # [START suggest_query] from azure.core.credentials import AzureKeyCredential from azure.search.documents import SearchClient search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key)) results = search_client.suggest(search_text="coffee", suggester_name="sg") print("Search suggestions for 'coffee'") for result in results: hotel = search_client.get_document(key=result["HotelId"]) print(" Text: {} for Hotel: {}".format(repr(result["text"]), hotel["HotelName"]))