Azure Bilişsel Arama dizinine Puanlama profilleri eklemeAdd scoring profiles to an Azure Cognitive Search index

Puanlama, arama sonuçlarında döndürülen her öğe için bir arama puanı hesaplamasına başvurur.Scoring refers to the computation of a search score for every item returned in search results. Puan, bir öğenin geçerli arama işlemi bağlamındaki ilgisi olan bir göstergedir.The score is an indicator of an item's relevance in the context of the current search operation. Puan arttıkça, öğe ne kadar alakalı olur.The higher the score, the more relevant the item. Arama sonuçlarında, her öğe için hesaplanan arama puanlarına bağlı olarak, öğeler yüksek ve düşük arasında sıralanır.In search results, items are rank ordered from high to low, based on the search scores calculated for each item.

Azure Bilişsel Arama, bir başlangıç Puanını hesaplamak için varsayılan Puanlama kullanır, ancak hesaplamayı bir Puanlama profiliaracılığıyla özelleştirebilirsiniz.Azure Cognitive Search uses default scoring to compute an initial score, but you can customize the calculation through a scoring profile. Puanlama profilleri, arama sonuçlarında öğelerin derecelendirmesi üzerinde daha fazla denetim sağlar.Scoring profiles give you greater control over the ranking of items in search results. Örneğin, gelir potansiyelini temel alarak öğeleri artırmak, daha yeni öğeleri yükseltmek ya da envanterdeki çok uzun olan öğeleri artırmak isteyebilirsiniz.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.

Puanlama profili, Dizin tanımının ağırlıklı alanlar, işlevler ve parametrelerden oluşan bir parçasıdır.A scoring profile is part of the index definition, composed of weighted fields, functions, and parameters.

Bir Puanlama profilinin nasıl görüneceğine ilişkin bir fikir vermek için aşağıdaki örnekte ' coğrafi ' adlı basit bir profil gösterilmektedir.To give you an idea of what a scoring profile looks like, the following example shows a simple profile named 'geo'. Bu bir tane, Hotelname alanında arama terimi olan öğeleri alır.This one boosts items that have the search term in the hotelName field. Ayrıca, geçerli konumun on kiloters içindeki öğeleri tercih etmek için distance işlevini kullanır.It also uses the distance function to favor items that are within ten kilometers of the current location. Birisi ' Inn ' terimini aradığında ve ' inn ', otel adının bir parçası olduğunda, geçerli konumun 10 KM yarıçapı içindeki ' Inn ' ile oteller içeren belgeler, arama sonuçlarında daha yüksek görünür.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
        }                        
      }                                      
    ]                     
  }            
]

Bu puanlama profilini kullanmak için sorgunuz Sorgu dizesinde profil belirlemek üzere formüle eklenir.To use this scoring profile, your query is formulated to specify the profile on the query string. Aşağıdaki sorguda, istekteki scoringProfile=geo sorgu parametresine dikkat edin.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=2019-05-06 

Bu sorgu, ' Inn ' terimini arar ve geçerli konumda geçirir.This query searches on the term ‘inn’ and passes in the current location. Bu sorgunun scoringParametergibi diğer parametreleri içerdiğine dikkat edin.Notice that this query includes other parameters, such as scoringParameter. Sorgu parametreleri, Arama belgelerinde (Azure bilişsel arama REST API)açıklanmaktadır.Query parameters are described in Search Documents (Azure Cognitive Search REST API).

Puanlama profilinin daha ayrıntılı bir örneğini gözden geçirmek için örnek ' e tıklayın.Click Example to review a more detailed example of a scoring profile.

Varsayılan skor nedir?What is default scoring?

Puanlama, sıralı bir sonuç kümesindeki her öğe için bir arama puanı hesaplar.Scoring computes a search score for each item in a rank ordered result set. Bir arama sonuç kümesindeki her öğeye bir arama puanı atanır ve en yüksek düzeye en düşüğe göre sıralanır.Every item in a search result set is assigned a search score, then ranked highest to lowest. Daha yüksek puanları olan öğeler uygulamaya döndürülür.Items with the higher scores are returned to the application. Varsayılan olarak, ilk 50 döndürülür, ancak $top parametresini kullanarak daha küçük veya daha fazla sayıda öğe (tek bir yanıtta 1000 ' e kadar) döndürebilirsiniz.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).

Arama puanı, verilerin istatistiksel özelliklerine ve sorgusuna göre hesaplanır.The search score is computed based on statistical properties of the data and the query. Azure Bilişsel Arama, arama terimlerinin çok sayıda örneğini içeren belgeleri (searchModebağlı olarak) sorgu dizesinde (bazıları veya tümü) içeren belgeleri bulur.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. Terim veri dizini genelinde nadir ise ve belge içinde ortak olduğunda arama puanı daha da artar.The search score goes up even higher if the term is rare across the data index, but common within the document. Bu yaklaşıma yönelik bu yaklaşımın temelini, tf-ıDF veya Term Frequency-ters belge sıklığı olarak bilinir.The basis for this approach to computing relevance is known as TF-IDF or term frequency-inverse document frequency.

Özel sıralama olmadığı varsayılarak, sonuçlar çağıran uygulamaya döndürülmeden önce arama puanına göre sıralanır.Assuming there is no custom sorting, results are then ranked by search score before they are returned to the calling application. $Top belirtilmemişse, en yüksek arama puanına sahip 50 öğe döndürülür.If $top is not specified, 50 items having the highest search score are returned.

Arama puanı değerleri, bir sonuç kümesi boyunca yinelenebilir.Search score values can be repeated throughout a result set. Örneğin, 1,2 puanı olan 10 öğe, 1,0 puanına sahip 20 öğe ve 0,5 puanı ile 20 öğe olabilir.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. Birden çok isabetle aynı arama puanı varsa, aynı puanlanmış öğelerin sıralaması tanımlanmamıştır ve kararlı değildir.When multiple hits have the same search score, the ordering of same scored items is not defined, and is not stable. Sorguyu yeniden çalıştırın ve öğelerin vardiya konumunu görebilirsiniz.Run the query again, and you might see items shift position. Aynı puan ile iki öğe verildiğinde, ilk olarak bir tane görünecek garanti yoktur.Given two items with an identical score, there is no guarantee which one appears first.

Özel Puanlama ne zaman kullanılır?When to use custom scoring

Varsayılan derecelendirme davranışı iş amaçlarınızı toplantıda yeterince fazla olmadığında bir veya daha fazla Puanlama profili oluşturmanız gerekir.You should create one or more scoring profiles when the default ranking behavior doesn’t go far enough in meeting your business objectives. Örneğin, arama ilgisi yeni eklenen öğeleri tercih etmelidir.For example, you might decide that search relevance should favor newly added items. Benzer şekilde, kar marjı içeren bir alanınız ya da gelir potansiyelini belirten başka bir alan olabilir.Likewise, you might have a field that contains profit margin, or some other field indicating revenue potential. İşletmenizin avantajlarından faydalanmaya yönelik isabet artırma, Puanlama profillerinin kullanılmasına karar verirken önemli bir faktör olabilir.Boosting hits that bring benefits to your business can be an important factor in deciding to use scoring profiles.

Relet tabanlı sıralama, Puanlama profilleri aracılığıyla da uygulanır.Relevancy-based ordering is also implemented through scoring profiles. Geçmişte kullandığınız arama sonuçları sayfalarını fiyata, tarihe, derecelendirmeye veya ilgiye göre sıralamanıza izin veren şekilde değerlendirin.Consider search results pages you’ve used in the past that let you sort by price, date, rating, or relevance. Azure Bilişsel Arama 'de, Puanlama profilleri ' ilgi ' seçeneğini sürücüdür.In Azure Cognitive Search, scoring profiles drive the ‘relevance’ option. İlgi tanımı sizin tarafınızdan denetlenir, iş hedeflerine ve teslim etmek istediğiniz arama deneyimi türüne göre belirlenir.The definition of relevance is controlled by you, predicated on business objectives and the type of search experience you want to deliver.

ÖrneğindeExample

Daha önce belirtildiği gibi, özelleştirilmiş Puanlama bir dizin şemasında tanımlanan bir veya daha fazla Puanlama profili aracılığıyla uygulanır.As noted earlier, customized scoring is implemented through one or more scoring profiles defined in an index schema.

Bu örnekte, iki Puanlama profiliyle bir dizinin şeması gösterilmektedir (boostGenre, newAndHighlyRated).This example shows the schema of an index with two scoring profiles (boostGenre, newAndHighlyRated). Bir sorgu parametresi olarak profil içeren bu dizine yönelik herhangi bir sorgu, sonuç kümesini Puanlama için profili kullanır.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" ]  
    }  
  ]   
}  

İş AkışıWorkflow

Özel Puanlama davranışı uygulamak için, dizini tanımlayan şemaya bir Puanlama profili ekleyin.To implement custom scoring behavior, add a scoring profile to the schema that defines the index. Bir dizin içinde en fazla 100 Puanlama profiline sahip olabilirsiniz (bkz. hizmet limitleri), ancak belirli bir sorguda zaman içinde yalnızca bir profil belirtebilirsiniz.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.

Bu konuda belirtilen şablonla başlayın.Start with the Template provided in this topic.

Bir ad girin.Provide a name. Puanlama profilleri isteğe bağlıdır, ancak bir tane eklerseniz ad gereklidir.Scoring profiles are optional, but if you add one, the name is required. Alanlar için adlandırma kurallarını izlediğinizden emin olun (bir harfle başlar, özel karakterleri ve ayrılmış kelimeleri önler).Be sure to follow the naming conventions for fields (starts with a letter, avoids special characters and reserved words). Listenin tamamı için bkz. adlandırma kuralları (Azure bilişsel arama) .See Naming rules (Azure Cognitive Search) for the complete list.

Puanlama profili gövdesi ağırlıklı alanlar ve işlevlerden oluşturulur.The body of the scoring profile is constructed from weighted fields and functions.

ÇizgiWeights Bir alana göreli ağırlık atayan ad-değer çiftlerini belirtin.Specify name-value pairs that assign a relative weight to a field. Örnekte, albümbaşlık, tarz ve artistName alanları sırasıyla 1,5, 5 ve 2 ' dir.In the Example, the albumTitle, genre, and artistName fields are boosted 1.5, 5, and 2 respectively. Tarzı neden diğerlerinden çok daha yüksek maliyetli?Why is genre boosted so much higher than the others? Arama, biraz hogenou olan veriler üzerinde yürütülmüştür (musicstoreindex), göreli ağırlıklarla daha büyük bir varyans olması gerekebilir.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. Örneğin, musicstoreindex, ' Rock ' hem bir tarz hem de özdeş phrased tarzı açıklamalarıyla birlikte görüntülenir.For example, in the musicstoreindex, ‘rock’ appears as both a genre and in identically phrased genre descriptions. Tarz 'ın tarz açıklamasına göre daha yüksek bir değere sahip olmasını istiyorsanız, tarz alanı için çok daha yüksek bir göreli ağırlık gerekir.If you want genre to outweigh genre description, the genre field will need a much higher relative weight.
İşlevlerFunctions Belirli bağlamlar için ek hesaplamalar gerektiğinde kullanılır.Used when additional calculations are required for specific contexts. Geçerli değerler freshness, magnitude, distanceve tag.Valid values are freshness, magnitude, distance, and tag. Her işlevin benzersiz parametreleri vardır.Each function has parameters that are unique to it.

- freshness, bir öğenin yeni mi yoksa eski mi olduğunu artırmak istediğinizde kullanılmalıdır.- freshness should be used when you want to boost by how new or old an item is. Bu işlev yalnızca datetime alanlarla kullanılabilir (EDM. Veri Timesapmayı).This function can only be used with datetime fields (edm.DataTimeOffset). boostingDuration özniteliğinin yalnızca freshness işleviyle kullanıldığını unutmayın.Notice the boostingDuration attribute is used only with the freshness function.
- magnitude, bir sayısal değerin yüksek veya düşük olduğu bir değere göre artırmak istediğinizde kullanılmalıdır.- magnitude should be used when you want to boost based on how high or low a numeric value is. Bu işlevi çağıran senaryolar, kar marjına, en yüksek fiyata, en düşük fiyata veya bir indirme sayısına göre yükseltme içerir.Scenarios that call for this function include boosting by profit margin, highest price, lowest price, or a count of downloads. Bu işlev yalnızca Double ve Integer alanları ile kullanılabilir.This function can only be used with double and integer fields.
magnitude işlevi için, ters deseninin (örneğin, daha yüksek fiyatlı öğelerden daha fazlasını artırmak için) (örneğin, düşük fiyatlı öğeleri artırmak için) aralığı ters çevirebilirsiniz.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 ile $1 arasında bir dizi fiyat verildiğinde, boostingRangeStart ve boostingRangeEnd düşük fiyatlı öğeleri artırmak için, 100 ve 1 ' de ayarlanır.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 yakınlık veya coğrafi konum ile artırmak istediğinizde kullanılmalıdır.- distance should be used when you want to boost by proximity or geographic location. Bu işlev yalnızca Edm.GeographyPoint alanlarla kullanılabilir.This function can only be used with Edm.GeographyPoint fields.
belgeler ve arama sorguları arasında ortak olan etiketlere göre artırmak istediğinizde - tag kullanılmalıdır.- tag should be used when you want to boost by tags in common between documents and search queries. Bu işlev yalnızca Edm.String ve Collection(Edm.String) alanlarıyla kullanılabilir.This function can only be used with Edm.String and Collection(Edm.String) fields.

İşlevleri kullanma kurallarıRules for using functions

İşlev türü (freshness, magnitude, distance), tag küçük harf olmalıdır.Function type (freshness, magnitude, distance), tag must be lower case.

İşlevler null veya boş değerler içeremez.Functions cannot include null or empty values. Özellikle, FieldName eklerseniz, onu bir şeye ayarlamanız gerekir.Specifically, if you include fieldname, you have to set it to something.

İşlevler yalnızca filtrelenebilir alanlara uygulanabilir.Functions can only be applied to filterable fields. Filtrelenebilir alanlar hakkında daha fazla bilgi için bkz. create INDEX (Azure bilişsel arama REST API) .See Create Index (Azure Cognitive Search REST API) for more information about filterable fields.

İşlevler, yalnızca bir dizinin alanlar koleksiyonunda tanımlanan alanlara uygulanabilir.Functions can only be applied to fields that are defined in the fields collection of an index.

Dizin tanımlandıktan sonra, Dizin şemasını karşıya yükleyerek ve ardından belgeler ile dizini oluşturun.After the index is defined, build the index by uploading the index schema, followed by documents. Bu işlemlerle ilgili yönergeler için bkz. Create (Index Azure bilişsel arama) REST API ve Azure REST API () bilişsel arama belgelerini ekleme, güncelleştirme veya silme .See Create Index (Azure Cognitive Search REST API) and Add, Update or Delete Documents (Azure Cognitive Search REST API) for instructions on these operations. Dizin oluşturulduktan sonra, arama verileriyle birlikte çalışan işlevsel bir Puanlama profiline sahip olmanız gerekir.Once the index is built, you should have a functional scoring profile that works with your search data.

ŞablonlarınıTemplate

Bu bölümde, Puanlama profillerinin sözdizimi ve şablonu gösterilmektedir.This section shows the syntax and template for scoring profiles. Özniteliklerin açıklamaları için sonraki bölümde dizin öznitelikleri başvurusuna bakın.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) "...",   
. . .  

Dizin öznitelikleri başvurusuIndex attributes reference

Not

Puanlama işlevi yalnızca filtrelenebilir alanlara uygulanabilir.A scoring function can only be applied to fields that are filterable.

ÖznitelikAttribute AçıklamaDescription
name Gereklidir.Required. Bu, Puanlama profilinin adıdır.This is the name of the scoring profile. Bir alanın adlandırma kurallarına uyar.It follows the same naming conventions of a field. Harf ile başlaması gerekir, nokta, iki nokta üst üste veya @ sembolleri içeremez ve ' azureSearch ' (büyük/küçük harfe duyarlı) tümcesiyle başlayamaz.It must start with a letter, cannot contain dots, colons or @ symbols, and cannot start with the phrase ‘azureSearch’ (case-sensitive).
text Ağırlıklar özelliğini içerir.Contains the weights property.
weights İsteğe bağlı.Optional. Her biri bir alan adı ve göreli ağırlık belirten ad-değer çiftleri içerir.Contains name-value pairs that each specify a field name and relative weight. Göreli ağırlık pozitif bir tamsayı veya kayan noktalı sayı olmalıdır.Relative weight must be a positive integer or floating-point number.

Ağırlıklar, bir aranabilir alanın diğerine göre önemini göstermek için kullanılır.Weights are used to indicate the importance of one searchable field relative to another.
functions İsteğe bağlı.Optional. Puanlama işlevi yalnızca filtrelenebilir alanlara uygulanabilir.A scoring function can only be applied to fields that are filterable.
type Puanlama işlevleri için gereklidir.Required for scoring functions. Kullanılacak işlevin türünü gösterir.Indicates the type of function to use. Geçerli değerler arasında büyüklük, yenilik, uzaklık ve etiket bulunur.Valid values include magnitude, freshness, distance, and tag. Her Puanlama profiline birden fazla işlev ekleyebilirsiniz.You can include more than one function in each scoring profile. İşlev adı küçük harf olmalıdır.The function name must be lower case.
boost Puanlama işlevleri için gereklidir.Required for scoring functions. Ham puan çarpanı olarak kullanılan pozitif bir sayı.A positive number used as multiplier for raw score. 1 değerine eşit olamaz.It cannot be equal to 1.
fieldname Puanlama işlevleri için gereklidir.Required for scoring functions. Puanlama işlevi yalnızca dizinin alan koleksiyonunun parçası olan ve filtrelenebilir olan alanlara uygulanabilir.A scoring function can only be applied to fields that are part of the field collection of the index, and that are filterable. Bunlara ek olarak, her bir işlev türü ek kısıtlamalar getirir (yeniliği DateTime alanları, tamsayı veya çift alanlarla büyüklüğü ve konum alanlarıyla mesafe) sağlar.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). Her işlev tanımı için yalnızca tek bir alan belirtebilirsiniz.You can only specify a single field per function definition. Örneğin, aynı profilde iki kez büyüklük kullanmak için, her bir alan için bir tane olmak üzere iki tanım büyüklüğü dahil etmeniz gerekir.For example, to use magnitude twice in the same profile, you would need to include two definitions magnitude, one for each field.
interpolation Puanlama işlevleri için gereklidir.Required for scoring functions. Aralığın başından aralığın sonuna kadar olan puanının arttığı eğimi tanımlar.Defines the slope for which the score boosting increases from the start of the range to the end of the range. Geçerli değerler doğrusal (varsayılan), sabit, Ikinci dereceden ve Logaritmik ' i içerir.Valid values include Linear (default), Constant, Quadratic, and Logarithmic. Ayrıntılar için bkz. enterpolasyonlarını ayarlama .See Set interpolations for details.
magnitude Büyüklük Puanlama işlevi, sayısal bir alan için değer aralığına göre rantısallar değiştirmek için kullanılır.The magnitude scoring function is used to alter rankings based on the range of values for a numeric field. Bunun en yaygın kullanım örneklerinden bazıları şunlardır:Some of the most common usage examples of this are:

- yıldızlı derecelendirmeler: "yıldız derecelendirmesi" alanı içindeki değere göre Puanlama değiştirin.- Star ratings: Alter the scoring based on the value within the “Star Rating” field. İki öğe ilgili olduğunda, öncelikle daha yüksek derecelendirme olan öğe görüntülenir.When two items are relevant, the item with the higher rating will be displayed first.
- kenar boşluğu: iki belge ilgili olduğunda, bir satıcı önce daha yüksek kenar boşluklarına sahip olan belgeleri artırmak isteyebilir.- Margin: When two documents are relevant, a retailer may wish to boost documents that have higher margins first.
- tıklama sayısı: ürünlere veya sayfalara yönelik eylemleri takip eden uygulamalar için, en fazla trafiği almak için kullanılan öğeleri artırmak üzere büyüklük kullanabilirsiniz.- 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.
indirme sayılarını - : büyüklük işlevi, İndirmeleri izleyen uygulamalar için en çok indirmelere sahip öğeleri artırmanıza olanak tanır.- Download counts: For applications that track downloads, the magnitude function lets you boost items that have the most downloads.
magnitude | boostingRangeStartmagnitude | boostingRangeStart Aralığın puanlanması için başlangıç değerini ayarlar.Sets the start value of the range over which magnitude is scored. Değer bir tamsayı veya kayan noktalı sayı olmalıdır.The value must be an integer or floating-point number. 1 ile 4 arasında yıldız dereceleri için bu 1 olur.For star ratings of 1 through 4, this would be 1. %50 üzerindeki kenar boşlukları için bu 50 olacaktır.For margins over 50%, this would be 50.
magnitude | boostingRangeEndmagnitude | boostingRangeEnd Büyüklük puanlanması gereken aralığın bitiş değerini ayarlar.Sets the end value of the range over which magnitude is scored. Değer bir tamsayı veya kayan noktalı sayı olmalıdır.The value must be an integer or floating-point number. 1 ile 4 arasında yıldız dereceleri için bu 4 olur.For star ratings of 1 through 4, this would be 4.
magnitude | constantBoostBeyondRangemagnitude | constantBoostBeyondRange Geçerli değerler true veya false (varsayılan) şeklindedir.Valid values are true or false (default). True olarak ayarlandığında, tam artırma, aralığın üst ucundan daha yüksek olan hedef alan için bir değer olan belgelere uygulanmaya devam edecektir.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 ise, bu işlevin artışı aralığın dışında kalan hedef alan için bir değere sahip belgelere uygulanmaz.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 Yenilik Puanlama işlevi, öğelerin derecelendirme puanlarını DateTimeOffset alanlarındaki değerlere göre değiştirmek için kullanılır.The freshness scoring function is used to alter ranking scores for items based on values in DateTimeOffset fields. Örneğin, son tarihi daha eski öğelerden daha yüksek bir öğe olabilir.For example, an item with a more recent date can be ranked higher than older items.

Ayrıca, gelecekteki tarihlerle birlikte takvim olayları gibi öğeleri derecelendirmek de mümkündür. bu öğeler, gelecekte de daha fazla öğeden daha fazla derecelendirilir.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.

Geçerli hizmet sürümünde, aralığın bir sonu geçerli saate göre düzeltilecektir.In the current service release, one end of the range will be fixed to the current time. Diğer son, boostingDurationgöre geçmişte bir zaman olur.The other end is a time in the past based on the boostingDuration. Gelecekte bir zaman aralığını artırmak için negatif boostingDurationkullanın.To boost a range of times in the future, use a negative boostingDuration.

En yüksek ve en düşük aralıktan yükseltme yaptığı oran, Puanlama profiline uygulanan enterpolasyon tarafından belirlenir (aşağıdaki şekle bakın).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). Uygulanan yükseltme faktörünü tersine çevirmek için 1 ' den küçük bir artırma faktörü seçin.To reverse the boosting factor applied, choose a boost factor of less than 1.
freshness | boostingDurationfreshness | boostingDuration Belirli bir belge için yükseltme durdurulacak süre sonu süresini ayarlar.Sets an expiration period after which boosting will stop for a particular document. Sözdizimi ve örnekler için aşağıdaki bölümde bulunan boostingDuration ayarlama bölümüne bakın.See Set boostingDuration in the following section for syntax and examples.
distance Uzaklık Puanlama işlevi, bir başvuru coğrafi konumuyla ne kadar yakın ve ne kadar ilerleeceğine göre belgelerin Puanını etkilemek için kullanılır.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. Başvuru konumu, bir parametresindeki sorgunun parçası olarak (scoringParameterquery dize seçeneği kullanılarak) Lon, Lat bağımsız değişkeni olarak verilir.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 Başvuru konumu olarak kullanılacak sorgularda geçirilecek bir parametre.A parameter to be passed in queries to use as reference location. scoringParameter bir sorgu parametresidir.scoringParameter is a query parameter. Sorgu parametrelerinin açıklamaları için bkz. arama belgeleri (Azure bilişsel arama REST API) .See Search Documents (Azure Cognitive Search REST API) for descriptions of query parameters.
distance | boostingDistancedistance | boostingDistance Yükseltme aralığının bittiği başvuru konumundan kilometre cinsinden mesafeyi gösteren bir sayı.A number that indicates the distance in kilometers from the reference location where the boosting range ends.
tag Etiket Puanlama işlevi, belge ve arama sorgularında etiketlere göre belgelerin Puanını etkilemek için kullanılır.The tag scoring function is used to affect the score of documents based on tags in documents and search queries. Arama sorgusuyla ortak etiketlerin bulunduğu belgeler de artıralınacaktır.Documents that have tags in common with the search query will be boosted. Arama sorgusunun etiketleri, her arama isteğinde bir Puanlama parametresi olarak sağlanır (scoringParameterquery dize seçeneği kullanılarak).The tags for the search query is provided as a scoring parameter in each search request (using the scoringParameterquery string option).
tag | tagsParametertag | tagsParameter Belirli bir istek için etiketleri belirtmek üzere sorgulara geçirilecek bir parametre.A parameter to be passed in queries to specify tags for a particular request. scoringParameter bir sorgu parametresidir.scoringParameter is a query parameter. Sorgu parametrelerinin açıklamaları için bkz. arama belgeleri (Azure bilişsel arama REST API) .See Search Documents (Azure Cognitive Search REST API) for descriptions of query parameters.
functionAggregation İsteğe bağlı.Optional. Yalnızca işlevler belirtildiğinde geçerlidir.Applies only when functions are specified. Geçerli değerler şunlardır: Sum (varsayılan), ortalama, minimum, maksimum ve Firsteþleþen.Valid values include: sum (default), average, minimum, maximum, and firstMatching. Arama puanı, birden çok işlev dahil olmak üzere birden çok değişkenden hesaplanan tek değerdir.A search score is single value that is computed from multiple variables, including multiple functions. Bu öznitelik, tüm işlevlerin tümünün, temel belge puanına uygulanan tek bir toplam Boost içinde nasıl birleştirildiğini gösterir.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. Taban puanı, belgeden ve Arama sorgusundan hesaplanan tf-IDF değerine göre belirlenir.The base score is based on the tf-idf value computed from the document and the search query.
defaultScoringProfile Bir arama isteği yürütürken, Puanlama profili belirtilmemişse, varsayılan Puanlama kullanılır (yalnızcatf-IDF ).When executing a search request, if no scoring profile is specified, then default scoring is used (tf-idf only).

Varsayılan bir Puanlama profili adı buradan ayarlanabilir, bu, arama isteğinde belirli bir profil verilmediğinde Azure Bilişsel Arama bu profili kullanmasına neden olur.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.

Enterpolasyonlarını ayarlaSet interpolations

Ara değer, Puanlama için kullanılan eğim şeklini ayarlamanıza olanak sağlar.Interpolations allow you to set the shape of the slope used for scoring. Puanlama yüksek ve düşük olduğundan, eğim her zaman azalabilir, ancak ilişkilendirme, aşağı doğru eğim eğrisini belirler.Because scoring is high to low, the slope is always decreasing, but the interpolation determines the curve of the downward slope. Aşağıdaki enterpolasyonda kullanılabilir:The following interpolations can be used:

linear En büyük ve en düşük aralıktaki öğeler için, öğeye uygulanan arttırma sürekli azalan bir miktarda yapılır.For items that are within the max and min range, the boost applied to the item will be done in a constantly decreasing amount. Doğrusal, bir Puanlama profili için varsayılan enterpolasyon.Linear is the default interpolation for a scoring profile.
constant Başlangıç ve bitiş aralığı içinde olan öğeler için, derece sonuçlarına sabit bir artırma uygulanır.For items that are within the start and ending range, a constant boost will be applied to the rank results.
quadratic Sürekli azalmış bir yükseği olan doğrusal bir ilişkilendirme ile karşılaştırıldığında, karesel olarak daha küçük bir hızda azaltılır ve ardından bitiş aralığına yaklaşıyorsa, çok daha yüksek bir aralığa yaklaşacaktır.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. Etiket Puanlama işlevlerinde Bu enterpolasyon seçeneğine izin verilmez.This interpolation option is not allowed in tag scoring functions.
logarithmic Sürekli azalmış bir yükseği olan doğrusal bir ilişkilendirme ile karşılaştırıldığında, logaritmik bir süre önce daha yüksek bir hızda azaltılır ve sonra son aralığa yaklaşırsa, çok daha küçük bir aralığa yaklaşacaktır.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. Etiket Puanlama işlevlerinde Bu enterpolasyon seçeneğine izin verilmez.This interpolation option is not allowed in tag scoring functions.

Grafik üzerinde sabit, doğrusal, karesel, log10 çizgileriConstant, linear, quadratic, log10 lines on graph

BoostingDuration 'ı ayarlamaSet boostingDuration

boostingDuration, freshness işlevinin bir özniteliğidir.boostingDuration is an attribute of the freshness function. Belirli bir belge için yükseltme durdurulacak bir süre sonu dönemi ayarlamak için bunu kullanırsınız.You use it to set an expiration period after which boosting will stop for a particular document. Örneğin, 10 günlük promosyon dönemi için bir ürün satırını veya markasını artırmak üzere, bu belgeler için 10 günlük dönemi "P10D" olarak belirtmeniz gerekir.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" değeri (ISO 8601 Duration değerinin kısıtlı bir alt kümesi) olarak biçimlendirilmelidir.boostingDuration must be formatted as an XSD "dayTimeDuration" value (a restricted subset of an ISO 8601 duration value). Bunun için model: "P [nD] [T [nH] [nM] [nS]]".The pattern for this is: "P[nD][T[nH][nM][nS]]".

Aşağıdaki tabloda birkaç örnek verilmiştir.The following table provides several examples.

SüreDuration boostingDurationboostingDuration
1 gün1 day "P1D""P1D"
2 gün ve 12 saat2 days and 12 hours "P2DT12H""P2DT12H"
15 dakika15 minutes "PT15M""PT15M"
30 gün, 5 saat, 10 dakika ve 6,334 saniye30 days, 5 hours, 10 minutes, and 6.334 seconds "P30DT5H10M 6.334 S""P30DT5H10M6.334S"

Daha fazla örnek için bkz. XML şeması: veri türleri (w3.org web sitesi).For more examples, see XML Schema: Datatypes (W3.org web site).

Ayrıca bkz.See also

Azure BILIŞSEL arama REST Azure Cognitive Search REST
Dizin (oluşturma Azure bilişsel arama REST API) Create Index (Azure Cognitive Search REST API)
Azure Bilişsel Arama .NET SDKAzure Cognitive Search .NET SDK