Я хочу выполнить повышение на ценовом поле, забив продукты с более низкими ценами выше. Я не мог найти способ указать это.Azure Search score boosting by reverse amount
В настоящее время у меня есть что-то вроде
let priceBoost =
new MagnitudeScoringFunction(
new MagnitudeScoringParameters(
BoostingRangeStart = 0.0,
BoostingRangeEnd = 100.0,
ShouldBoostBeyondRangeByConstant = true),
"price",
10.0)
Я попытался обратить вспять BoostingRangeStart/End, но это не работает, а в результате ошибки сериализации по поиску.
Любое понимание оценено.
Похоже, что ошибка, которую вы получаете, не связана с полем «цена», о котором вы спрашивали. Не могли бы вы проверить мой ответ без поля «точек», чтобы мы могли закрыть это? Не стесняйтесь, напишите мне свое полное определение индекса в jlembicz в Microsoft dot com. Я помогу вам решить проблему сериализации. Не стесняйтесь публиковать новый вопрос о проблеме сериализации с помощью тега azure-search. Пожалуйста, постарайтесь сделать ваш пример как можно более изолированным от конкретной проблемы. – Yahnoosh
Спасибо Yahnoosh за подтверждение того, как добиться повышения по нисходящим значениям. Я пошлю вас по электронной почте отдельно для проблемы с сериализацией. – hocho
Проблема сериализации была результатом использования примитивов с непустым значением в пользовательском классе модели. Azure Search рассматривает все примитивные типы как обнуляемые. Однако SDK должен подтвердить это раньше. Я открыл проблему в GitHub для отслеживания этого: https://github.com/Azure/azure-sdk-for-net/issues/1063 –