Использование проекции при извлечении из Azure индекса поиска - PullRequest
0 голосов
/ 01 апреля 2020

Здесь я получаю список продуктов из azure поискового индекса, используя запрос. В этом я получаю список изображений для определенного продукта.

 public class ProductImage
{

        public string Id { get; set; }

        [IsSearchable]
        public string ActualSizeUrl { get; set; }

        public string ThumbnailUrl { get; set; }
}

Например, в настоящее время я получаю следующий фактический размер URL: 5de4ff7246bfe0002579328b/5da957c9e158618c1bbce366.jpg

Используя этот код

var results = _indexClient.Documents.Search<Product>(searchText, parameters);

IEnumerable<SearchResult<Product>> itemList = results.Results.AsEnumerable();

IEnumerable<SearchResultItem> items = itemList.Select(x => new SearchResultItem
            {
                Data = x.Document,
                Confidence = x.Score,
                Type = Enum.GetName(typeof(SearchType), SearchType.Product),
            });

Как получить URL фактического размера, например: http://localhost:10000/devstoreaccount1/5de4ff7246bfe0002579328b/5da957c9e158618c1bbce366.jpg, пока я получаю из поиска Индекс

1 Ответ

0 голосов
/ 03 апреля 2020

Самый простой вариант - просто составить полный URL-адрес в коде приложения.

In. Net, вы можете использовать вычисляемое свойство в классе ProductImage, которое создает URL-адрес в get, используя значение из индекса и некоторый фиксированный root URL.

Вы можете использовать атрибут [JsonIgnore], чтобы он не отображался в поле в вашем индексе.

спасибо, Эбби

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...