Я экспериментирую с Azure Search. У меня есть индекс с полем Edm.Double
. Я создаю скоринговый профиль, чтобы увеличить это поле с помощью API REST Azure Search. В настоящее время у меня есть:Как изменить диапазон поля?
"scoringProfiles": [
{
"name":"myProfile",
"functions": [
{
"type":"magnitude",
"fieldName":"cost",
"boost": 2.5,
"magnitude": {
"boostingRangeStart":0,
"boostingRangeEnd":50
}
}
]
}
]
Моя задача состоит в том, что я действительно не знаю, что будет диапазон моих данных. Я просто хочу увеличить поле cost
. В C# я знаю, что могу использовать значения Double.MinValue
и Double.MaxValue
для охвата моего диапазона. Тем не менее, я не уверен, что Azure Search имеет такие константы, как это доступно. Я также не уверен, могу ли я использовать отрицательные числа в моем диапазоне диапазона оценки.
Есть ли способ определить скоринговый профиль по неизвестному диапазону значений?
благодарит за ваш ответ. Я попробовал флаг 'constantBoostBeyondRange', однако я этого не понимаю. Предположим, я установил этот флаг в 'true', и у меня есть предметы с расходами в $ 1.00, $ 3.00, $ 5.00, $ 7.00 и $ 10.00. Теперь притворись, что мой «boostingRangeStart» равен 3,00, а мой «boostingRangeEnd» равен 7,00. Я предполагаю, что результаты с расходами в $ 3,00, $ 5,00 и $ 7,00 будут повышены. Но как насчет результатов с расходами в $ 1,00 и $ 10,00? Они игнорируются во время повышения? Усиливаются ли $ 1,00 и $ 10,00? Является ли это чем-то большим, чем другим? Увеличивает ли $ 10,00, но не $ 1,00? –
Короче говоря, я не понимаю, для чего предназначен флаг 'constantBoostBeyondRange' или что он делает. Спасибо за помощь. –
[Взято из документов] (https://msdn.microsoft.com/en-us/library/azure/dn798928.aspx): * Если установлено значение true, полный импульс будет продолжать применяться к документам, которые имеют значение для целевого поля, которое выше верхнего конца диапазона. Если false, повышение этой функции не будет применяться к документам, имеющим значение для целевого поля, которое выходит за пределы диапазона. * –