Compartilhar via


Como: alterar a configuração importância para uma propriedade gerenciada

Você pode alteração o peso aplicado a um gerenciado propriedade usando o ManagedProperty M:Microsoft.Office.Server.Search.Administration.ManagedProperty classe no modelo objeto administração Pesquisar da empresa osssearchshort. Essa configuração é aplicada quando o de conteúdo é indexado.

A alteração a espessura de um gerenciado propriedade de um aplicativo console

  1. No seu aplicativo, definir referências para o seguinte DLLs:

    • Microsoft.SharePoint.dll

    • Microsoft.Office.Server.dll

    • Microsoft.Office.Server.Search.dll

  2. No arquivo classe do seu aplicativo de console, adicionar o seguinte using instruções perto de parte superior da codificar Using com as outras diretivas de espaço para nome.

    using Microsoft.SharePoint;
    using Microsoft.Office.Server.Search.Administration;
    
  3. Crie uma função para gravar informações de uso para o janela do console.

    static void Usage()
    {
      Console.WriteLine("Change Property Weight");
      Console.WriteLine("Usage: PropertyWeightSample.exe ManagedPropertyName <WeightValue>");
      Console.WriteLine("<WeightValue>: Must be formatted as a float.");
    }
    
  4. No Main() Main() função do aplicativo de console, adicionar codificar a verificar o número de itens de parâmetro args[] args []; Ele deve igual a 2. Se ele não, em seguida, chamar o Usage() Usage() função definido na etapa 3.

    if (args.Length != 2)
    {
    Usage();
    return;
    }
    
  5. Recuperar os valores especificados no parâmetro args[] args [] que serão usado para especificar o nome do gerenciado propriedade para alteração de configuração de peso para e o novo valor configuração de peso.

    string strPropertyName = args[0].ToLower();
    float newWeight = Convert.ToSingle(args[1]);
    
  6. Para recuperar o objeto Schema esquema para o contexto pesquisa do Shared Services Provider (SSP), adicionar o seguinte codificar. Para obter mais informações sobre maneiras para recuperar o contexto pesquisa, consulte Como a: Return o contexto de pesquisa para o provedor de serviço de pesquisa.

    /*
    Replace <SiteName> with the name of a site using the SSP
    */
    string strURL = "http://<SiteName>";
    Schema sspSchema = new Schema(SearchContext.GetContext(new SPSite(strURL)));
    
  7. Recuperar a coleção de gerenciado propriedades usando a seguinte codificar.

    ManagedPropertyCollection properties = sspSchema.AllManagedProperties;
    
  8. Determinar se a coleção de gerenciado o gerenciado inclui propriedades propriedade que você desejar para alteração o peso de verificando o valor retornado para o método Contains contém. Se false, a propriedade não existir, portanto, escreva sem uma mensagem para o console indicando isso.

    if (!properties.Contains(strPropertyName))
    {
       Console.WriteLine strPropertyName + " property does not exist.");
       return;
    }
    
  9. Se o método contém Containstrue, executar um loop por meio de gerenciado retorna propriedades e para cada um, verificar se o Name propriedade Nome coincide com o valor de strPropertyName, e em caso afirmativo, alteração de Weight propriedade Weight para o valor especificado.

    foreach (ManagedProperty property in properties)
    {
        if (property.Name.ToLower() == strPropertyName)
        {
            property.Weight = newWeight;
            Console.WriteLine("Weight value changed for " + strPropertyName + " property.");
            Console.WriteLine("NAME: " + property.Name + "  WEIGHT: " + property.Weight.ToString());
        }
    }
    

Exemplo

Este é o completo codificar para o aplicativo de console exemplo.

Pré-requisitos

  • Certifique-se que um provedor de serviços compartilhados já é criado.

Referências do projeto

Adicione o seguinte referências do projeto no seu projeto código do aplicativo console antes execução neste exemplo:

  • Microsoft.SharePoint

  • Microsoft.Office.Server

  • Microsoft.Office.Server.Search

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.Office.Server.Search.Administration;

namespace PropertyWeightSample
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                if (args.Length != 2)
                {
                    Usage();
                    return;
                }

                /*
                Replace <SiteName> with the name of a site using the SSP
                */
                string strURL = "http://<SiteName>";
                Schema sspSchema = new Schema(SearchContext.GetContext(new SPSite(strURL)));
                ManagedPropertyCollection properties = sspSchema.AllManagedProperties;

                string strPropertyName = args[0].ToLower();
                float newWeight = Convert.ToSingle(args[1]);

                if (!properties.Contains(strPropertyName))
                {
                    Console.WriteLine(strPropertyName + " property does not exist.");
                    return;
                }

                foreach (ManagedProperty property in properties)
                {
                    if (property.Name.ToLower() == strPropertyName)
                    {
                        property.Weight = newWeight;
                        Console.WriteLine("Weight value changed for " + strPropertyName + " property.");
                        Console.WriteLine("NAME: " + property.Name + "  WEIGHT: " + property.Weight.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                Usage();
            }
        }

        private static void Usage()
        {
            Console.WriteLine("Change Property Weight");
            Console.WriteLine("Usage: PropertyWeightSample.exe ManagedPropertyName <WeightValue>");
            Console.WriteLine("<WeightValue>: Must be formatted as a float.");
        }
    }
}

Consulte também

Referência

Microsoft.Office.Server.Search.Administration.Schema

Outros recursos

Visão geral da arquitetura Relevance de pesquisa da empresa
Guia de Introdução com o modelo de objeto de administração de pesquisa da empresa
Administração de pesquisa da empresa por meio de programação
Melhorando Relevance