Мин. Макс. Значения в Поиске Azure

У меня есть индекс, заполненный продуктами. У каждого товара есть поле цены. Я хочу реализовать фасетную навигацию на страницах категорий и хочу, чтобы мои пользователи могли искать продукты в пределах определенного ценового диапазона. В то же время я хочу, чтобы они знали, какова минимальная и максимальная цена продукта для продуктов в выбранной категории. Насколько мне известно, служба поиска Azure не поддерживает минимальные и максимальные значения в ответах. Итак, я ищу работу. Я думаю, что могу пометить свое ценовое поле как фасетное и получить минимальное и максимальное значение из результата фасета, но счетчик результатов фасета по умолчанию равен 10, и, если я правильно понимаю, чтобы получить все цены из результата фасета, мне нужно установить счетчик на Int.Max или что-то. Звучит не очень хорошо.

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


person Volodymyr Gorodytskyi    schedule 16.11.2016    source источник


Ответы (1)


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

Например,

https://[service] .search.windows.net / indexes / products / docs? search = * & $ filter = productName eq 'Игрушки' & $ orderBy = price asc & $ top = 1.

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

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

Нейт

person Nate Ko    schedule 16.11.2016