Property Bag durchsuchen

Dieser Artikel beschreibt die Schritte um Werte im Property Bag über die Suche anzeigen zu lassen. In dem folgenden Beispiel gehe ich davon aus, dass ein 3rd Party Produkt bei der Erstellung einer Site Collection bereits das Property als auch dessen Wert angelegt hat. Ein gängiges Beispiel hierfür ist die Kostenstelle (hier „CostCenter“) oder auch die Abteilung, ich nutze Cost Center.

Property Bag auslesen

Lassen wir uns als erstes die Eigenschaft (Property) anzeigen, das geht mit folgendem Zweizeiler:

001
002
$spweb = get-spweb http://intranet/projects/dm
$spweb.AllProperties

Das Ergebnis sieht dann in etwa wie folgt aus – es liefert übrigens alle Eigenschaften zurück bzw. das ganze Property Bag:

Indexed Property erstellen

Als nächstes muss hierfür das Property auf indexable gesetzt werden. Dazu muss man das folgende PowerShell Skript ausführen, dabei ist „CostCenter“ durch das eigene Property zu ersetzen:

001
002
003
004
005
006
007
$spweb = Get-SPWeb http://localhost# this would set the property and value, but this was already done by GA
# $spweb.AllProperties[“CostCenter”] = “value1”

$spweb.IndexedPropertyKeys.Add(“CostCenter”)
$spweb.Update()

Bitte beachten Sie dass dieser Schritt für jede Site neu ausgeführt werden muss, auch wenn das Property in einer anderen Site identisch benannt ist.

Anschließend ist ein Full Crawl auszuführen, da erst anschließend die Suche das Property in die Crawled Properties aufnimmt.

SharePoint Suche konfigurieren

Jetzt müssen wir ein Managed Property erstellen – damit beeinflussen wir ob und wie das Property angezeigt bzw. durchsuchbar ist.

  • Öffnen Sie die Central Admin – Manage Service Applications – Search Service
  • Search Schema
  • Managed Properties – Create
  • Property Name, e.g.: CostCenter
  • Type: Text
  • Main characteristics: Searchable
  • Queryable – hier kommt es auf den Anwendungsfall an, in meinem Beispiel möchte ich als Ergebnis die Site als Ergebnis anführen, wenn ich nach dem Wert suche – ohne dass ich „CostCenter:“ meiner Suche voranstellen muss – daher „No“
    Für das Abrufen per WebPart (über die Suche) ist es evtl. geschickter hier „Yes“ zu wählen.
  • Retrievable – hier kommt es auf den Anwendungsfall an, in meinem Beispiel möchte ich als Ergebnis die Site als Ergebnis anführen, wenn ich nach dem Wert suche, daher „Yes“
  • Safe for Anonymous: Yes
  • Mappings to crawled properties: <e.g. CostCenter or your name>

 

  • Start Full Crawl und etwas warten bis die Suche auch den Index aktualisiert

Suche und das Ergebnis

Wenn ich jetzt den Wert in der Suche angebe, bekomme ich als Treffer die Site angezeigt:

Referenz

Teilen

Autor: Dennis Hobmaier

Dennis Hobmaier ist Solution Designer bei Kapsch BusinessCom AG. Er hat über 15 Jahre Erfahrung in IT-Enterprise Umgebung aller Größenordnungen und bedient Kunden aus den unterschiedlichsten Branchen. Als MCSE SharePoint hat er tiefgreifende Kenntnisse in den Bereichen Microsoft Active Directory, Windows, SharePoint und Office 365. Gerne teilt er seine Projekterfahrung mit Ihnen.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .