Мы хотели бы знать, допускает ли поиск Azure описанный ниже сценарий.
Пусть у нас будет индекс поиска Azure с тремя столбцами:
1. Id [Edm.String]
2. Tags [Collection(Edm.String)]
3. MaxScore [Edm.Int32]
Указатель содержит следующие две записи:
Id Tags MaxScore
1 Paris,London,Rome 30
2 Paris 10
У нас также есть профиль оценки и функция оценки типа Tag (Sum, Linear), которые оценивают каждый тег на 10 баллов (boost = 10).
Мы хотим найти в этом индексе записи с тегами «Париж, Лондон» и отсортировать их по проценту соответствия, а 100% - это значение в столбце MaxScore.
Проблема в том, что по умолчанию поиск Azure сортирует записи по баллу. Итак, результаты следующие:
Id Tags MaxScore Score %
1 Paris,London,Rome 30 20 67%
2 Paris 10 10 100%
Но нам нужно отсортировать записи в порядке убывания по столбцу [%]. Этого было бы достаточно, чтобы позволить поиску Azure сортировать записи по выражению. В нашем случае это будет что-то вроде $ orderby = score * (100 / MaxScore). Однако в настоящее время это невозможно.
Спасибо.