Microsoft.Azure.CognitiveServices.Search.EntitySearch.EntitySearchClient.Entities.Search (местоположение: <latitude>:? <longitude>:? - PullRequest
0 голосов
/ 09 апреля 2019

Я использую образец Microsoft для Bing Entity Search с использованием SDK и (НЕ REST API.) Я не могу понять, как ввести пару ключ / значение местоположения, основываясь на этой документации:

https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.cognitiveservices.search.entitysearch.entitiesoperationsextensions.search?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev15.query%3FappId%3DDev15IDEF1%26l%3DEN-US%26k%3Dk(Microsoft.Azure.CognitiveServices.Search.EntitySearch.EntitiesOperationsExtensions.Search);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.7.2);k(DevLang-csharp)%26rd%3Dtrue&view=azure-dotnet

Я бы хотел продолжить использовать именованные параметры, чтобы я мог это сделать: var restaurant = client.Entities.Search (запрос: currentQuery, местоположение: lat:? long:?);

1 Ответ

0 голосов
/ 10 апреля 2019

Метод с запросом и расположением из примера Microsoft будет выглядеть следующим образом:

public static void MultipleCurrentQueryLookup (string subscriptionKey) {var client = new EntitySearchClient (new ApiKeyServiceClientCredentials subscriptionKey));

try
{
    string currentQuery = Settings1.Default.CurrentQuery;
    var restaurants = client.Entities.Search(query: currentQuery, 
         location: "lat:47.623, long:-122.361, re:380m");

    if (restaurants?.Places?.Value?.Count > 0)
    {
        // get all the list items that relate to this query
        var listItems = restaurants.Places.Value.Where(thing => thing.EntityPresentationInfo.EntityScenario == EntityScenario.ListItem).ToList();

        if (listItems?.Count > 0)
        {
            var sb = new StringBuilder();

            foreach (var item in listItems)
            {
                var place = item as Place;

                if (place == null)
                {
                    Console.WriteLine("Unexpectedly found something that isn't a place named \"{0}\"", item.Name);
                    continue;
                }

                sb.AppendFormat(",{0} ({1}) {2}", place.Name, place.Telephone, place.Url);
            }

            Console.WriteLine("Ok, we found these places: ");
            Console.WriteLine(sb.ToString().Substring(1));
        }
        else
        {
            Console.WriteLine("Couldn't find any relevant results for \"The Current Query\"");
        }
    }
    else
    {
        Console.WriteLine("Didn't see any data..");
    }
}
catch (ErrorResponseException ex)
{
    Console.WriteLine("Encountered exception. " + ex.Message);
}

}

...