2016-11-16 10 views
0

У меня есть индекс, который заполнен Продуктами. Каждый продукт имеет ценовое поле. Я хочу внедрить фасетную навигацию по страницам категорий, и я хочу, чтобы мои пользователи могли искать продукты в ценовом диапазоне. В то же время я хочу, чтобы они знали, что минимальная и максимальная цена продукта зависит от продуктов в выбранной категории. Как я знаю, Azure Search не поддерживает значения min/max в ответах. Поэтому я ищу работу. Я думаю, что я могу пометить свое поле цены как грандиозное и получить минимальное и максимальное значение из результата фасета, но по умолчанию число фасетов составляет 10, и если я правильно понимаю, чтобы получить все цены от результата фасета, мне нужно установить счет на Int.Max или что-то. Это звучит не очень хорошо.Azure Search min max values ​​

Итак, какое лучшее решение для получения минимальной и максимальной цены продукта в определенной категории?

ответ

1

Более прямой подход для получения минимальных и максимальных цен на товары будет использовать $ filter, $ orderBy и $ top в запросе на поиск.

Например,

https://[service имя] .search.windows.net/индексы/продукты/документы? Поиск = * & $ фильтр = ProductName эк 'Toys' & $ OrderBy = цена по возрастанию & $ топ = 1 ,

Вам нужно будет разобрать цену в ответе.

Подход, использующий фасет, был бы более дорогим и, как вы сказали, может приблизиться к вам только потому, что границы каждой грани выполнены из предварительно заданного диапазона.

Nate