Question

Je développe une recherche SharePoint avec une propre source de contenu. Et j'ai mes propriétés d'exploration et mes propriétés gérées et cartographier entre eux en conséquence. J'ai également des propriétés dynamiques, par exemple, l'utilisateur peut modifier l'ensemble des propriétés en rampant, donc je le fais lors de l'exécution à partir de SharePoint Central Administration. J'utilise le code suivant pour ce faire:

    private static void CreateProperty(string propertyName, Category category, ManagedPropertyCollection managedProperties)
    {
        var crawledProperty = category.CreateCrawledProperty(propertyName, false, Constants.CategoryId, 31);
        crawledProperty.IsMappedToContents = true;
        SetMapping(crawledProperty, managedProperties);
        crawledProperty.Update();
    }

    private static void SetMapping(CrawledProperty cProp, ManagedPropertyCollection managedProperties)
    {
        ManagedProperty mProp = managedProperties.Create(cProp.Name, ManagedDataType.Text);
        mProp.EnabledForScoping = true;
        Mapping newMapping = new Mapping(cProp.Propset, cProp.Name, cProp.VariantType, mProp.PID);
        MappingCollection mappings = mProp.GetMappings();
        mappings.Add(newMapping);
        mProp.SetMappings(mappings);
        mProp.EnabledForScoping = true;
    }

Les propriétés statiques ajoutent lors de l'installation, les propriétés dynamiques ajoutent une manuelle à l'administration centrale. J'utilise le même code pour ajouter des propriétés lors de l'installation et de la définition du manuel de l'administration centrale.

Le problème est la valeur de l'indicateur SharePoint "inclus dans l'indice" pour les propriétés de la craw. Dans le cas, lorsque l'installation est terminée, la valeur de ce drapeau est vraie (oui) pour toutes les propriétés de rampe statiques. Sinon, pour les propriétés dynamiques, ce drapeau est faux (non). J'ai besoin d'avoir toujours vérifié le drapeau "inclus dans l'index".

Comme je le sais, la propriété ismappedToContents de la classe CrawlProperty est responsable de la valeur "incluse à l'index", mais cela ne fonctionne pas pour moi!

Avez-vous une idée de faire cela? Et qu'est-ce que je fais à tort?

Merci d'avance.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top