Добавление профилей повышения в индекс службы Когнитивного поиска AzureAdd scoring profiles to an Azure Cognitive Search index

Оценка оценивает оценку поиска для каждого элемента в упорядоченном результирующем наборе ранжирования.Scoring computes a search score for each item in a rank ordered result set. Каждому элементу в результирующем наборе поиска назначается оценка поиска (от наивысшей до наименьшей).Every item in a search result set is assigned a search score, then ranked highest to lowest.

Когнитивный поиск Azure использует оценку по умолчанию для вычисления начальной оценки, но вы можете настроить вычисление с помощью профиля оценки.Azure Cognitive Search uses default scoring to compute an initial score, but you can customize the calculation through a scoring profile. Профили оценки позволяют управлять приоритетом элементов в результатах поиска.Scoring profiles give you greater control over the ranking of items in search results. Например, может потребоваться повысить приоритет элементов на основе потенциального дохода, повысить уровень более новых элементов или, возможно, элементов, которые слишком долго находились на складе.For example, you might want to boost items based on their revenue potential, promote newer items, or perhaps boost items that have been in inventory too long.

Следующий сегмент видео быстро пересылается по принципу работы профилей оценки в Azure Когнитивный поиск.The following video segment fast-forwards to how scoring profiles work in Azure Cognitive Search.

Определения профиля оценкиScoring profile definitions

Профиль повышения — часть определения индекса, состоящая из взвешенных полей, функций и параметров.A scoring profile is part of the index definition, composed of weighted fields, functions, and parameters.

В следующем примере показан простой профиль geo, который поможет вам получить представление о профиле оценки.To give you an idea of what a scoring profile looks like, the following example shows a simple profile named 'geo'. Он повышает приоритет элементов, содержащих условие поиска в поле hotelName.This one boosts items that have the search term in the hotelName field. Он также использует функцию distance для выбора элементов, которые находятся в пределах десяти километров от текущего расположения.It also uses the distance function to favor items that are within ten kilometers of the current location. Если кто-то ищет слово inn, которое входит в название отеля, документы, содержащие отели со словом inn, расположенные в пределах радиуса в 10 км от текущего расположения, будут показаны в результатах поиска выше.If someone searches on the term 'inn', and 'inn' happens to be part of the hotel name, documents that include hotels with 'inn' within a 10 KM radius of the current location will appear higher in the search results.

"scoringProfiles": [
  {  
    "name":"geo",
    "text": {  
      "weights": {  
        "hotelName": 5
      }                              
    },
    "functions": [
      {  
        "type": "distance",
        "boost": 5,
        "fieldName": "location",
        "interpolation": "logarithmic",
        "distance": {
          "referencePointParameter": "currentLocation",
          "boostingDistance": 10
        }                        
      }                                      
    ]                     
  }            
]

Чтобы использовать этот профиль оценки, в строке запроса необходимо указать профиль.To use this scoring profile, your query is formulated to specify the profile on the query string. В следующем запросе обратите внимание на параметр scoringProfile=geo.In the query below, notice the query parameter scoringProfile=geo in the request.

GET /indexes/hotels/docs?search=inn&scoringProfile=geo&scoringParameter=currentLocation--122.123,44.77233&api-version=2020-06-30 

Этот запрос выполняет поиск слова inn и передает текущее расположение.This query searches on the term ‘inn’ and passes in the current location. Обратите внимание, что этот запрос включает другие параметры, такие как scoringParameter .Notice that this query includes other parameters, such as scoringParameter. Параметры запроса описаны в документах поиска (Azure Когнитивный поиск REST API).Query parameters are described in Search Documents (Azure Cognitive Search REST API).

Щелкните Пример , чтобы просмотреть более подробный пример профиля оценки.Click Example to review a more detailed example of a scoring profile.

Что такое оценка по умолчанию?What is default scoring?

В процессе оценки вычисляется оценка поиска для каждого элемента в упорядоченном по рангу результирующем наборе.Scoring computes a search score for each item in a rank ordered result set. Каждому элементу в результирующем наборе поиска назначается оценка поиска (от наивысшей до наименьшей).Every item in a search result set is assigned a search score, then ranked highest to lowest. Элементы с более высокой оценкой возвращаются приложению.Items with the higher scores are returned to the application. По умолчанию возвращаются первые 50 элементов, но можно использовать параметр $top , чтобы вернуть меньше или больше элементов (до 1000 в одном ответе).By default, the top 50 are returned, but you can use the $top parameter to return a smaller or larger number of items (up to 1000 in a single response).

Оценка поиска вычисляется на основе статистических свойств данных и запроса.The search score is computed based on statistical properties of the data and the query. Azure Когнитивный поиск находит документы, содержащие условия поиска в строке запроса (некоторые или все, в зависимости от searchMode ), что позволяет использовать документы, содержащие много экземпляров условия поиска.Azure Cognitive Search finds documents that include the search terms in the query string (some or all, depending on searchMode), favoring documents that contain many instances of the search term. Оценка поиска возрастает, если условие поиска редко встречается в индексе данных, но часто — внутри документа.The search score goes up even higher if the term is rare across the data index, but common within the document. Базовый подход к вычислению релевантности называется TF-IDF или периодичностью терминов — инверсией документа.The basis for this approach to computing relevance is known as TF-IDF or term frequency-inverse document frequency.

Если предположить, что пользовательская сортировка не применяется, результаты ранжируются по оценке поиска, прежде чем они будут возвращены вызывающему приложению.Assuming there is no custom sorting, results are then ranked by search score before they are returned to the calling application. Если параметр $top не указан, возвращаются 50 элементов с наивысшей оценкой поиска.If $top is not specified, 50 items having the highest search score are returned.

Значения оценки поиска в результирующем наборе могут повторяться.Search score values can be repeated throughout a result set. Например, может быть 10 элементов с оценкой 1,2, 20 элементов с оценкой 1,0 и 20 элементов с оценкой 0,5.For example, you might have 10 items with a score of 1.2, 20 items with a score of 1.0, and 20 items with a score of 0.5. Если у нескольких совпадений одинаковая оценка поиска, порядок сортировки элементов не определен и не является стабильным.When multiple hits have the same search score, the ordering of same scored items is not defined, and is not stable. Выполните запрос еще раз, и, возможно, позиции элементов изменятся.Run the query again, and you might see items shift position. Если есть два элемента с одинаковой оценкой, невозможно определить, какой из них отобразится первым.Given two items with an identical score, there is no guarantee which one appears first.

Когда следует добавлять логику оценкиWhen to add scoring logic

Вам следует создать один или несколько профилей оценки, если ранжирование по умолчанию не соответствует вашим бизнес-целям.You should create one or more scoring profiles when the default ranking behavior doesn’t go far enough in meeting your business objectives. Например, вы можете решить, что при поиске следует предпочитать вновь добавленные элементы.For example, you might decide that search relevance should favor newly added items. Аналогично, у вас может быть поле, содержащее удельную прибыль, или другое поле, указывающее потенциальный доход.Likewise, you might have a field that contains profit margin, or some other field indicating revenue potential. Повышение приоритета элементов, которые дают преимущества для бизнеса, может быть важным фактором при решении об использовании профилей оценки.Boosting hits that bring benefits to your business can be an important factor in deciding to use scoring profiles.

Упорядочивание на основе релевантности также реализуется с помощью профилей оценки.Relevancy-based ordering is also implemented through scoring profiles. Рассмотрим страницы результатов поиска, которые вы использовали ранее, позволяющие сортировать данные по цене, дате, рейтингу или релевантности.Consider search results pages you’ve used in the past that let you sort by price, date, rating, or relevance. В Когнитивный поиск Azure профили оценки выпускают параметр "релевантность".In Azure Cognitive Search, scoring profiles drive the ‘relevance’ option. Определение релевантности контролируете вы в соответствии с бизнес-целями и типом результатов поиска, которые хотите предоставить.The definition of relevance is controlled by you, predicated on business objectives and the type of search experience you want to deliver.

ПримерExample

Как отмечалось ранее, пользовательская оценка реализуется с помощью одного или нескольких профилей повышения, определенных в схеме индекса.As noted earlier, customized scoring is implemented through one or more scoring profiles defined in an index schema.

В этом примере показана схема индекса с двумя профилями оценки (boostGenre, newAndHighlyRated).This example shows the schema of an index with two scoring profiles (boostGenre, newAndHighlyRated). Любой запрос к этому индексу, включающий профиль в качестве параметра запроса, будет использовать профиль для оценки результирующего набора.Any query against this index that includes either profile as a query parameter will use the profile to score the result set.

{  
  "name": "musicstoreindex",  
  "fields": [  
    { "name": "key", "type": "Edm.String", "key": true },  
    { "name": "albumTitle", "type": "Edm.String" },  
    { "name": "albumUrl", "type": "Edm.String", "filterable": false },  
    { "name": "genre", "type": "Edm.String" },  
    { "name": "genreDescription", "type": "Edm.String", "filterable": false },  
    { "name": "artistName", "type": "Edm.String" },  
    { "name": "orderableOnline", "type": "Edm.Boolean" },  
    { "name": "rating", "type": "Edm.Int32" },  
    { "name": "tags", "type": "Collection(Edm.String)" },  
    { "name": "price", "type": "Edm.Double", "filterable": false },  
    { "name": "margin", "type": "Edm.Int32", "retrievable": false },  
    { "name": "inventory", "type": "Edm.Int32" },  
    { "name": "lastUpdated", "type": "Edm.DateTimeOffset" }  
  ],  
  "scoringProfiles": [  
    {  
      "name": "boostGenre",  
      "text": {  
        "weights": {  
          "albumTitle": 1.5,  
          "genre": 5,  
          "artistName": 2  
        }  
      }  
    },  
    {  
      "name": "newAndHighlyRated",  
      "functions": [  
        {  
          "type": "freshness",  
          "fieldName": "lastUpdated",  
          "boost": 10,  
          "interpolation": "quadratic",  
          "freshness": {  
            "boostingDuration": "P365D"  
          }  
        },  
        {
          "type": "magnitude",  
          "fieldName": "rating",  
          "boost": 10,  
          "interpolation": "linear",  
          "magnitude": {  
            "boostingRangeStart": 1,  
            "boostingRangeEnd": 5,  
            "constantBoostBeyondRange": false  
          }  
        }  
      ]  
    }  
  ],  
  "suggesters": [  
    {  
      "name": "sg",  
      "searchMode": "analyzingInfixMatching",  
      "sourceFields": [ "albumTitle", "artistName" ]  
    }  
  ]   
}  

Рабочий процессWorkflow

Чтобы реализовать пользовательское поведение оценки, добавьте профиль оценки в схему, которая определяет индекс.To implement custom scoring behavior, add a scoring profile to the schema that defines the index. В индексе может быть до 100 профилей повышения (см. сведения в статье Ограничения поиска Azure), но в одном запросе можно указать только один профиль.You can have up to 100 scoring profiles within an index (see Service Limits), but you can only specify one profile at time in any given query.

Начните с шаблона , приведенного в этой статье.Start with the Template provided in this topic.

Введите имя.Provide a name. Профили оценки не являются обязательными, но если вы добавите профиль, необходимо указать имя.Scoring profiles are optional, but if you add one, the name is required. Следуйте соглашениям об именовании полей (начинается с буквы, не содержит специальных символов и зарезервированных слов).Be sure to follow the naming conventions for fields (starts with a letter, avoids special characters and reserved words). Полный список см. в разделе правила именования (Azure Когнитивный поиск) .See Naming rules (Azure Cognitive Search) for the complete list.

Текст профиля оценки состоит из взвешенных полей и функций.The body of the scoring profile is constructed from weighted fields and functions.

ВесовWeights Укажите пары "имя — значение", которые назначают полю относительный вес.Specify name-value pairs that assign a relative weight to a field. В примере приоритет полей albumTitle, genre и artistName повышается на 1,5, 5 и 2 позиции соответственно.In the Example, the albumTitle, genre, and artistName fields are boosted 1.5, 5, and 2 respectively. Почему для поля genre приоритет повышен намного больше, чем для других полей?Why is genre boosted so much higher than the others? Если поиск выполняется в однородных данных (как в случае с genre в musicstoreindex), вам может потребоваться большая вариативность в относительных весах.If search is conducted over data that is somewhat homogenous (as is the case with 'genre' in the musicstoreindex), you might need a larger variance in the relative weights. Например, в musicstoreindex "рок" появляется как жанр и в идентично сформулированных описаниях жанра.For example, in the musicstoreindex, ‘rock’ appears as both a genre and in identically phrased genre descriptions. Если жанр должен обладать большим весом, чем описание жанра, полю genre потребуется назначить гораздо больший относительный вес.If you want genre to outweigh genre description, the genre field will need a much higher relative weight.
ФункцииFunctions Используются, когда необходимы дополнительные вычисления для определенных контекстов.Used when additional calculations are required for specific contexts. Допустимые значения: freshness, magnitude, distance и tag.Valid values are freshness, magnitude, distance, and tag. Каждая функция имеет свои уникальные параметры.Each function has parameters that are unique to it.

- freshness следует использовать, если вам необходимо повысить приоритет нового или старого элемента в зависимости от его "возраста".- freshness should be used when you want to boost by how new or old an item is. Эта функция может использоваться только с полями типа datetime (edm.DataTimeOffset).This function can only be used with datetime fields (edm.DataTimeOffset). Обратите внимание, что boostingDuration атрибут используется только с freshness функцией.Notice the boostingDuration attribute is used only with the freshness function.
- magnitude следует применять, когда требуется повысить приоритет элементов на основе числового значения.- magnitude should be used when you want to boost based on how high or low a numeric value is. К сценариям, в которых может вызваться эта функция, относится повышение приоритета на основе прибыли, наибольшей цены, наименьшей цены или числа загрузок.Scenarios that call for this function include boosting by profit margin, highest price, lowest price, or a count of downloads. Эта функция может использоваться только с полями типа double и integer.This function can only be used with double and integer fields.
Для функции magnitude можно задать обратный диапазон (от высоких оценок до низких), если результаты нужно отобразить в обратном порядке (например, повысить приоритет для элементов с более низкими ценами по сравнению с элементами с более высокими ценами).For the magnitude function, you can reverse the range, high to low, if you want the inverse pattern (for example, to boost lower-priced items more than higher-priced items). Если у вас есть диапазон цен от 100 до 1 доллара США, для параметров boostingRangeStart и boostingRangeEnd следует установить значения 100 и 1 соответственно, чтобы повысить приоритет для элементов с более низкими ценами.Given a range of prices from $100 to $1, you would set boostingRangeStart at 100 and boostingRangeEnd at 1 to boost the lower-priced items.
- distance следует применять, чтобы повысить приоритет по близости или географическому расположению.- distance should be used when you want to boost by proximity or geographic location. Эта функция может использоваться только с полями типа Edm.GeographyPoint .This function can only be used with Edm.GeographyPoint fields.
- tag следует применять, чтобы повысить приоритет по тегам, которые одновременно используются в документах и поисковых запросах.- tag should be used when you want to boost by tags in common between documents and search queries. Эта функция может использоваться только с полями Edm.String и Collection(Edm.String).This function can only be used with Edm.String and Collection(Edm.String) fields.

Правила использования функцииRules for using functions

Тип функции (freshness, magnitude, distance), tag должен состоять из строчных букв.Function type (freshness, magnitude, distance), tag must be lower case.

Функции не могут содержать значения NULL или пустые значения.Functions cannot include null or empty values. В частности, если добавить поле fieldname, для него необходимо указать значение.Specifically, if you include fieldname, you have to set it to something.

Функции можно применять только к фильтруемым полям.Functions can only be applied to filterable fields. Дополнительные сведения о фильтруемых полях см. в статье Создание индекса (Azure Когнитивный поиск REST API) .See Create Index (Azure Cognitive Search REST API) for more information about filterable fields.

Функции могут применяться только к полям, определенным в коллекции полей индекса.Functions can only be applied to fields that are defined in the fields collection of an index.

После определения индекса выполните построение индекса, загрузив схему индекса и документы.After the index is defined, build the index by uploading the index schema, followed by documents. Инструкции по этим операциям см. в статьях Создание индекса (Azure Когнитивный поиск REST API) и Добавление, обновление и удаление документов (когнитивный Поиск Azure REST API).See Create Index (Azure Cognitive Search REST API) and Add, Update or Delete Documents (Azure Cognitive Search REST API) for instructions on these operations. После построения индекса вы получите функциональный профиль оценки, который работает с данными поиска.Once the index is built, you should have a functional scoring profile that works with your search data.

ШаблонTemplate

В этом разделе показан синтаксис и шаблон для профилей оценки.This section shows the syntax and template for scoring profiles. Описание атрибутов см. в подразделе Справочник по атрибутам индекса в следующем разделе.Refer to Index attributes reference in the next section for descriptions of the attributes.

. . .   
"scoringProfiles": [  
  {   
    "name": "name of scoring profile",   
    "text": (optional, only applies to searchable fields) {   
      "weights": {   
        "searchable_field_name": relative_weight_value (positive #'s),   
        ...   
      }   
    },   
    "functions": (optional) [  
      {   
        "type": "magnitude | freshness | distance | tag",   
        "boost": # (positive number used as multiplier for raw score != 1),   
        "fieldName": "...",   
        "interpolation": "constant | linear (default) | quadratic | logarithmic",   

        "magnitude": {
          "boostingRangeStart": #,   
          "boostingRangeEnd": #,   
          "constantBoostBeyondRange": true | false (default)
        }  

        // ( - or -)  

        "freshness": {
          "boostingDuration": "..." (value representing timespan over which boosting occurs)   
        }  

        // ( - or -)  

        "distance": {
          "referencePointParameter": "...", (parameter to be passed in queries to use as reference location)   
          "boostingDistance": # (the distance in kilometers from the reference location where the boosting range ends)   
        }   

        // ( - or -)  

        "tag": {
          "tagsParameter":  "..."(parameter to be passed in queries to specify a list of tags to compare against target field)   
        }
      }
    ],   
    "functionAggregation": (optional, applies only when functions are specified) "sum (default) | average | minimum | maximum | firstMatching"   
  }   
],   
"defaultScoringProfile": (optional) "...",   
. . .  

Справочник по атрибутам индексаIndex attributes reference

Примечание

Функция оценки может применяться только к фильтруемым полям.A scoring function can only be applied to fields that are filterable.

АтрибутAttribute ОписаниеDescription
name Обязательный элемент.Required. Это имя профиля оценки.This is the name of the scoring profile. К нему применяются те же соглашения об именовании, что и к полям.It follows the same naming conventions of a field. Оно должно начинаться с буквы, не может содержать точки, двоеточия и символы "@", а также не может начинаться с фразы azureSearch (с учетом регистра).</span><span class="sxs-lookup">It must start with a letter, cannot contain dots, colons or @ symbols, and cannot start with the phrase ‘azureSearch’ (case-sensitive).
text Содержит свойство Weights.Contains the weights property.
weights Необязательный элемент.Optional. Содержит пары «имя-значение», каждый из которых задает имя поля и относительный вес.Contains name-value pairs that each specify a field name and relative weight. Относительный вес должен быть положительным целым числом или числом с плавающей запятой.Relative weight must be a positive integer or floating-point number.

Весовые коэффициенты используются для указания важности одного поля, доступного для поиска, относительно другого.Weights are used to indicate the importance of one searchable field relative to another.
functions Необязательный элемент.Optional. Функция оценки может применяться только к фильтруемым полям.A scoring function can only be applied to fields that are filterable.
type Требуется для функций оценки.Required for scoring functions. Указывает тип используемой функции.Indicates the type of function to use. Допустимые значения: magnitude, freshness, distance и tag.Valid values include magnitude, freshness, distance, and tag. В каждый профиль оценки можно включить несколько функций.You can include more than one function in each scoring profile. Имя функции должно состоять из строчных букв.The function name must be lower case.
boost Требуется для функций оценки.Required for scoring functions. Положительное число, используемое в качестве множителя для необработанной оценки.A positive number used as multiplier for raw score. Не может быть равно 1.It cannot be equal to 1.
fieldname Требуется для функций оценки.Required for scoring functions. Функция оценки может применяться только к фильтруемым полям, входящим в коллекцию полей индекса.A scoring function can only be applied to fields that are part of the field collection of the index, and that are filterable. Кроме того, каждый тип функции накладывает дополнительные ограничения (freshness используется с полями типа datetime, magnitude — с полями типа integer или double, а distance — с полями типа location).In addition, each function type introduces additional restrictions (freshness is used with datetime fields, magnitude with integer or double fields, and distance with location fields). В определении функции можно указать только одно поле.You can only specify a single field per function definition. Например, чтобы использовать функцию magnitude дважды в одном профиле, необходимо добавить два определения magnitude (по одному для каждого поля).For example, to use magnitude twice in the same profile, you would need to include two definitions magnitude, one for each field.
interpolation Требуется для функций оценки.Required for scoring functions. Определяет наклон для повышения приоритета оценки от начала до конца диапазона.Defines the slope for which the score boosting increases from the start of the range to the end of the range. Допустимые значения: Linear (по умолчанию), Constant, Quadratic и Logarithmic.Valid values include Linear (default), Constant, Quadratic, and Logarithmic. Дополнительные сведения см. в разделе Настройка интерполяций.See Set interpolations for details.
magnitude Функция оценки magnitude используется для изменения рейтинга на основе диапазона значений для числового поля.The magnitude scoring function is used to alter rankings based on the range of values for a numeric field. Ниже приведены некоторые наиболее распространенные примеры.Some of the most common usage examples of this are:

- Рейтинги звезд: Изменение оценки на основе значения в поле "Рейтинг".- Star ratings: Alter the scoring based on the value within the “Star Rating” field. Если релевантны два элемента, первым отобразится элемент с более высокой оценкой.When two items are relevant, the item with the higher rating will be displayed first.
- Поле: Если два документа являются релевантными, розничный продавец может пожелать поднять документы с более высокими полями первыми.- Margin: When two documents are relevant, a retailer may wish to boost documents that have higher margins first.
- Щелкните счетчики: Для приложений, которые отслеживаний щелчков мышью по действиям для продуктов или страниц, можно использовать величину для увеличения количества элементов, которые чаще всего будут получать наибольший объем трафика.- Click counts: For applications that track click through actions to products or pages, you could use magnitude to boost items that tend to get the most traffic.
- Число Скачиваний: Для приложений, которые отслеживаний загрузки, функция величины позволяет повысить уровень элементов, которые наиболее часто загружаются.- Download counts: For applications that track downloads, the magnitude function lets you boost items that have the most downloads.
magnitude | boostingRangeStartmagnitude | boostingRangeStart Задает начальное значение диапазона, на основе которого вычисляется результат функции magnitude.Sets the start value of the range over which magnitude is scored. Значение должно быть целым числом или числом с плавающей запятой.The value must be an integer or floating-point number. Для оценок по звездам от 1 до 4 — 1.For star ratings of 1 through 4, this would be 1. Для маржи более 50 % — 50.For margins over 50%, this would be 50.
magnitude | boostingRangeEndmagnitude | boostingRangeEnd Задает конечное значение диапазона, на основе которого вычисляется результат функции magnitude.Sets the end value of the range over which magnitude is scored. Значение должно быть целым числом или числом с плавающей запятой.The value must be an integer or floating-point number. Для оценок по звездам от 1 до 4 — 4.For star ratings of 1 through 4, this would be 4.
magnitude | constantBoostBeyondRangemagnitude | constantBoostBeyondRange Допустимые значения: true или false (по умолчанию).Valid values are true or false (default). Если задано значение true, к документам, содержащим значение целевого поля, превышающее верхнее ограничение диапазона, будет применяться максимальное повышение приоритета.When set to true, the full boost will continue to apply to documents that have a value for the target field that’s higher than the upper end of the range. Если задано значение false, эта функция не будет применяться к документам, содержащим значение целевого поля, которое не входит в диапазон.If false, the boost of this function won’t be applied to documents having a value for the target field that falls outside of the range.
freshness Функция оценки freshness используется для оценки ранжирования элементов на основе значений в полях DateTimeOffset.The freshness scoring function is used to alter ranking scores for items based on values in DateTimeOffset fields. Например, элемент с более близкой датой может классифицироваться выше, чем старые элементы.For example, an item with a more recent date can be ranked higher than older items.

Кроме того, можно ранжировать такие элементы, как события календаря с будущими датами, в которых элементы ближе к текущей версии могут быть ранжированы выше по сравнению с элементами в будущем.It is also possible to rank items like calendar events with future dates such that items closer to the present can be ranked higher than items further in the future.

В текущем выпуске службы один конец диапазона фиксируется на текущее время.In the current service release, one end of the range will be fixed to the current time. Чтобы повысить приоритет диапазона будущего времени, используйте отрицательное значение параметра boostingDuration.The other end is a time in the past based on the boostingDuration. Чтобы повысить приоритет диапазона будущего времени, используйте отрицательное значение параметра boostingDuration.To boost a range of times in the future, use a negative boostingDuration.

рисунок ниже).The rate at which the boosting changes from a maximum and minimum range is determined by the Interpolation applied to the scoring profile (see the figure below). Чтобы изменить направление коэффициента повышения приоритета, выберите коэффициент повышения приоритета меньше 1.To reverse the boosting factor applied, choose a boost factor of less than 1.
freshness | boostingDurationfreshness | boostingDuration Задает срок действия, после которого повышение приоритета перестает применяться для определенного документа.Sets an expiration period after which boosting will stop for a particular document. Синтаксис и примеры приведены далее в подразделе Настройка boostingDuration.See Set boostingDuration in the following section for syntax and examples.
distance Функция оценки distance используется, чтобы изменить оценку документов на основе их близости к эталонному географическому расположению.The distance scoring function is used to affect the score of documents based on how close or far they are relative to a reference geographic location. Эталонное расположение предоставляется как часть запроса в параметре (с помощью параметра строки scoringParameterquery) в аргументе lon,lat.The reference location is given as part of the query in a parameter (using the scoringParameterquery string option) as a lon,lat argument.
distance | referencePointParameterdistance | referencePointParameter Параметр, который передается в запросах и используется в качестве эталонного расположения.A parameter to be passed in queries to use as reference location. scoringParameter — это параметр запроса.scoringParameter is a query parameter. Описания параметров запроса см. в статье Поиск документов (Azure Когнитивный поиск REST API) .See Search Documents (Azure Cognitive Search REST API) for descriptions of query parameters.
distance | boostingDistancedistance | boostingDistance Число, которое задает расстояние в километрах от эталонного расположения, где заканчивается диапазон повышения приоритета.A number that indicates the distance in kilometers from the reference location where the boosting range ends.
tag Функция оценки tag определяет оценку документов на основе тегов, имеющихся в документах и поисковых запросах.The tag scoring function is used to affect the score of documents based on tags in documents and search queries. Документы, в которых имеются общие с поисковыми запросами теги, получают более высокий приоритет.Documents that have tags in common with the search query will be boosted. Теги для каждого поискового запроса указываются в качестве параметра оценки (с помощью параметра строки scoringParameterquery).The tags for the search query is provided as a scoring parameter in each search request (using the scoringParameterquery string option).
tag | tagsParametertag | tagsParameter Параметр, который передается в запросах для указания тегов определенного запроса.A parameter to be passed in queries to specify tags for a particular request. scoringParameter — это параметр запроса.scoringParameter is a query parameter. Описания параметров запроса см. в статье Поиск документов (Azure Когнитивный поиск REST API) .See Search Documents (Azure Cognitive Search REST API) for descriptions of query parameters.
functionAggregation Необязательный элемент.Optional. Применяется, только если указаны функции.Applies only when functions are specified. Допустимые значения: sum (по умолчанию), average, minimum, maximum и firstMatching.Valid values include: sum (default), average, minimum, maximum, and firstMatching. Оценка поиска — это одиночное значение, которое вычисляется на основе нескольких переменных, включая несколько функций.A search score is single value that is computed from multiple variables, including multiple functions. Эти атрибуты показывают, как значения повышения приоритета всех функций объединяются в единое агрегированное повышение приоритета, которое затем применяется к базовой оценке документа.This attribute indicates how the boosts of all the functions are combined into a single aggregate boost that then is applied to the base document score. Базовая оценка основана на значении tf-idf, которое вычисляется на основе документа и поискового запроса.The base score is based on the tf-idf value computed from the document and the search query.
defaultScoringProfile Если при выполнении поискового запроса профиль повышения не указан, используется оценка по умолчанию (только tf-idf).When executing a search request, if no scoring profile is specified, then default scoring is used (tf-idf only).

Здесь можно задать имя профиля оценки по умолчанию, что приведет к тому, что Azure Когнитивный поиск будет использовать этот профиль, если в поисковом запросе не задан определенный профиль.A default scoring profile name can be set here, causing Azure Cognitive Search to use that profile when no specific profile is given in the search request.

Задание интерполяцийSet interpolations

Интерполяции позволяют задать форму наклона, используемого для оценки.Interpolations allow you to set the shape of the slope used for scoring. Так как оценка идет по убыванию, наклон всегда снижается, но интерполяция определяет кривую нисходящего наклона.Because scoring is high to low, the slope is always decreasing, but the interpolation determines the curve of the downward slope. Можно использовать следующие типы интерполяции.The following interpolations can be used:

ИнтерполяцииInterpolation ОписаниеDescription
linear Для элементов, которые находятся в диапазоне от минимального до максимального значения, применяется постоянно убывающая величина.For items that are within the max and min range, the boost applied to the item will be done in a constantly decreasing amount. Линейная интерполяция — это интерполяция для оценки профиля по умолчанию.Linear is the default interpolation for a scoring profile.
constant Для элементов, которые находятся между начальным и конечным диапазонами, к результатам ранжирования применяется постоянное повышение приоритета.For items that are within the start and ending range, a constant boost will be applied to the rank results.
quadratic По сравнению с линейной интерполяцией с постоянно убывающим повышением приоритета квадратичная интерполяционная функция сначала уменьшается не так быстро, а по мере приближения к конечному диапазону уменьшается на гораздо большую величину.In comparison to a Linear interpolation that has a constantly decreasing boost, Quadratic will initially decrease at smaller pace and then as it approaches the end range, it decreases at a much higher interval. Этот тип интерполяции невозможно использовать в функциях оценки tag.This interpolation option is not allowed in tag scoring functions.
logarithmic По сравнению с линейной интерполяцией с постоянно убывающим повышением приоритета логарифмическая интерполяционная функция сначала уменьшается быстрее, а по мере приближения к конечному диапазону уменьшается на гораздо меньшую величину.In comparison to a Linear interpolation that has a constantly decreasing boost, Logarithmic will initially decrease at higher pace and then as it approaches the end range, it decreases at a much smaller interval. Этот тип интерполяции невозможно использовать в функциях оценки tag.This interpolation option is not allowed in tag scoring functions.

Постоянные, линейные, квадратичные линии и линии log10 на графикеConstant, linear, quadratic, log10 lines on graph

Настройка boostingDurationSet boostingDuration

boostingDuration — это атрибут функции freshness.boostingDuration is an attribute of the freshness function. Он задает срок действия, после которого повышение приоритета перестает применяться для определенного документа.You use it to set an expiration period after which boosting will stop for a particular document. Например, для повышения приоритета линейки продуктов или торговой марки в течение 10-дневного периода следует указать для соответствующих документов 10-дневный период как "P10D".For example, to boost a product line or brand for a 10-day promotional period, you would specify the 10-day period as "P10D" for those documents.

boostingDuration необходимо отформатировать как XSD-значение dayTimeDuration (ограниченное подмножество значения длительности ISO 8601).boostingDuration must be formatted as an XSD "dayTimeDuration" value (a restricted subset of an ISO 8601 duration value). Для этого используется следующий шаблон: "P [nD] [T [nH] [nM] [nS]]".The pattern for this is: "P[nD][T[nH][nM][nS]]".

Следующая таблица содержит несколько примеров.The following table provides several examples.

DurationDuration boostingDurationboostingDuration
1 день1 day "P1D""P1D"
2 дня и 12 часов2 days and 12 hours "P2DT12H""P2DT12H"
15 минут15 minutes "PT15M""PT15M"
30 дней, 5 часов, 10 минут и 6,334 секунды30 days, 5 hours, 10 minutes, and 6.334 seconds "P30DT5H10M6.334S""P30DT5H10M6.334S"

Дополнительные примеры см. в документе о типах данных в схеме XML (веб-сайт W3.org).For more examples, see XML Schema: Datatypes (W3.org web site).

См. также статьюSee also