Aktivieren Ihres Datenspeichers in der Windows-federierten Suche

Erläutert, wie Sie den Zugriff auf Ihren Datenspeicher durch einen OpenSearch-Webdienst ermöglichen und wie sie potenzielle Hindernisse dafür vermeiden können.

Dieses Thema ist wie folgt organisiert:

Bedingungen für die Annahme von Suchanfragen

Der OpenSearch-Webdienst , den Sie auf Ihrem Webserver erstellen , muss die folgenden beiden Anforderungen erfüllen:

  • Sie können eine GET URL Abfrage vom Client annehmen.

  • Zulassen, dass die Suchbegriffe in die URL eingebettet werden.

    Das folgende Beispiel zeigt, wie ein Suchbegriff in eine URL eingebettet werden kann.

    https://example.com/search.aspx?query=terms&param=mysearchword
    

Hinweis

Die übergreifende Suche unterstützt das Senden von POST Anforderungen an einen Webdienst nicht.

 

Weitere Informationen zum Erstellen einer URL finden Sie unter "URL Template Parameters" in Creating an OpenSearch Description File in Windows Federated Search.

Unterstützte Abfragesyntax

In Windows 7 wird keine bestimmte Abfragesyntax erwartet. Der OpenSearch-Anbieter akzeptiert alle Begriffe, die der Benutzer in das Eingabefeld in Windows Explorer eingibt, und codiert ihn in die URL. Dies geschieht entsprechend der URL-Vorlage, die unter "URL-Vorlagenparameter" unter Erstellen einer OpenSearch-Beschreibungsdatei in der Windows-Sammelsuche beschrieben wird.

Benutzer erwarten, dass separate Ausdrücke implizit als ANDed behandelt werden. Beispielsweise sollte eine Abfrage für "Microsoft Windows" nur Ergebnisse zurückgeben, die sowohl "Windows" als auch "Microsoft" enthalten.

Unterstützte Authentifizierungsprotokolle

Die Windows-Verbundsuche unterstützt die windowsbasierte Authentifizierung und kann Über die folgenden Protokolle Anmeldeinformationen für Webdienste bereitstellen:

  • NTLM.
  • Kerberos.
  • Einfach (nur über https).
  • Andere Sicherheitsunterstützungsanbieter (Security Support Providers, SSPs), die unter Windows installiert sind, die zusätzliche Abfragekapazität bereitstellen. Weitere Informationen finden Sie in der SSP Interface SDK-Dokumentation, um über die potenziellen Ergänzungen anderer SSPs auf dem Laufenden zu bleiben.

Senden von Abfragen und Zurückgeben von Suchergebnissen in RSS oder Atom

Der OpenSearch-Anbieter ist für die Zuordnung der XML-Elementwerte zu Windows Shell-Systemeigenschaften verantwortlich, die von Windows-Anwendungen verwendet werden können. Sie sind jedoch nicht auf die Standardzuordnungen von RSS- oder Atom-Standardelementen beschränkt und können benutzerdefinierte XML-Elemente im Windows-Namespace für jede der Eigenschaften enthalten. Sie können beispielsweise eigene benutzerdefinierte XML-Elemente innerhalb des Elementelements hinzufügen, um zusätzliche Metadaten für Windows bereitzustellen. Sie können auch Elemente aus anderen XML-Namespaces zuordnen, z. B. iTunes

Beispiel für eine RSS-Feedausgabe

Im folgenden Beispiel gibt die RSS-Feedausgabe ein Element zurück.

<rss version="2.0" xmlns:media="https://search.yahoo.com/mrss/" xmlns:example="https://example.com/namespace">
   <channel>
      <title>Search Results</title>
      <item>
         <title>An example result</title>
         <link>https://example.com/pictures.aspx?id=01</link>
         <description>This is a test of the emergency search results system. If this were a real emergency result, you'd be reading something more useful.</description>
         <pubDate>Wed, 1 Oct 2008 23:12:00 GMT</pubDate>
         <media:content url="https://example.com/pictures/picture01.jpg" fileSize="212889" type="image/jpeg" height="768" width="1024"/>
         <media:thumbnail url="https://example.com/thumbnails/picture01.jpg" height="120" width="160"/>
         <example:dateTaken>Mon, 22 Sep 2008 23:12:00 GMT</example:dateTaken>
      </item>
   </channel>
</rss>

Ausführlichere Informationen zur Eigenschaftenzuordnung finden Sie in den Abschnitten "Erweiterte Elemente in WIndows-Sammelsuche" und "Benutzerdefinierte Eigenschaftenzuordnungen" in der Erstellung einer OpenSearch-Beschreibungsdatei in der Windows-Sammelsuche.

Automatische Zuordnung zu Windows Shell-Eigenschaften

Innerhalb der Elemente in Ihrem RSS-Feed können Sie andere XML-Elemente einschließen, die automatisch den Windows Shell-Systemeigenschaften zugeordnet werden. Fügen Sie dazu ein Element ein, das nach der Windows Shell-Eigenschaft benannt ist und dem Windows Shell-Systemnamespace vorangestellt ist. Das folgende Beispiel veranschaulicht die Namespacedeklaration win=" http://schemas.microsoft.com/windows/2008/propertynamespace" und die Einbeziehung eines Elements für die Eigenschaftszuordnung win:System.Contact.PrimaryEmailAddress:

<rss version="2.0" xmlns:example="https://example.com/schema/2009" xmlns:win="http://schemas.microsoft.com/windows/2008/propertynamespace">
...
   <item>
      <title>Someone</title>
      <win:System.Contact.PrimaryEmailAddress>[email protected]
   </win:System.Contact.PrimaryEmailAddress>
   </item>

Das hier verwendete Namespacepräfix ("win") ist ein Vorschlag. Sie können ein beliebiges Präfix verwenden. Sie müssen jedoch die genauen Namen der Windows Shell-Eigenschaften verwenden und müssen den genauen URI (Uniform Resource Identifier) einschließen, wie im folgenden Beispiel zu sehen ist:

http://schemas.microsoft.com/windows/2008/propertynamespace

Informationen zu Windows Shell-Systemeigenschaften

Windows definiert eine vollständige Liste der Systemeigenschaften und das für jede Eigenschaft erforderliche Werttypformat. Die Dokumentation für die System.FileExtension Window Shell-Eigenschaft gibt beispielsweise an, dass der Wert den führenden Punkt (".docx" und nicht "docx") enthalten muss.

Datums- und Uhrzeitwerte

Das bevorzugte Datums- und Uhrzeitformat ist ISO-8601, wie im folgenden Beispiel gezeigt:

2008-01-16T 19:20:30:.45+01:00

.NET-Entwickler sollten die DateTime-Klasse ToString("R") verwenden, um das richtige Format auszugeben.

Ausführlichere Informationen zur Eigenschaftenzuordnung finden Sie unter "Erweiterte Elemente in der Windows-Sammelsuche" unter Erstellen einer OpenSearch-Beschreibungsdatei in der Windows-Sammelsuche.

Grundlegendes zur Zuordnung von Elementen zu Dateitypen in Windows

Durch die Suche in der Windows Explorer-Benutzeroberfläche können Benutzer Ergebnisse als Dateien behandeln, wenn ein RSS-Element auf eine remote gespeicherte Datei verweist. Der Benutzer kann Elemente auf den Desktop ziehen und ablegen, und die Windows Explorer-Benutzeroberfläche zeigt das richtige Symbol an und stellt das entsprechende Kontextmenü bereit. Wenn das RSS-Element nicht auf eine remote gespeicherte Datei verweist, wird die Datei als Link behandelt, und Benutzer können Aktionen daran ausführen, z. B. das Erstellen einer Verknüpfung oder das Öffnen im Browser.

Das folgende Flussdiagramm zeigt, wie Windows den Dateityp eines Elements bestimmt.

Flussdiagramm mit Pfaden von einem Element zu Entscheidungen, die es als Weblinktypelement oder als Dateityp behandeln sollen

Der OpenSearch-Anbieter führt die folgenden Schritte aus, um ein Element einem Dateityp zuzuordnen:

  • Identifizieren Sie, ob das Element als Datei oder als Weblink behandelt werden soll.
  • Identifizieren Sie die richtige Dateinamenerweiterung, die verwendet werden soll.

Wenn das Element beispielsweise über eine Link-URL verfügt, die einen Dateisystempfad verwendet (z file:///\\server\share\etc\item.ext. B.), behandelt der OpenSearch-Anbieter den Link als Datei und bestimmt den Typ der Dateinamenerweiterung, die im Pfad (EXT in diesem Beispiel) verwendet wird.

Wenn das Element das standardmäßige RSS-Gehäuse oder MediaRSS media:content-Element verwendet, geht der OpenSearch-Anbieter davon aus, dass es sich bei dem Element um eine Datei handelt und die Dateinamenerweiterung wie folgt identifiziert:

  • Wenn die Windows Shell-Eigenschaft "System.FileExtension " für das Element zugeordnet wurde, verwendet der Anbieter diese Dateinamenerweiterung.
  • Wenn die Windows Shell-Eigenschaft "System.FileExtension " nicht zugeordnet wurde, verwendet der Anbieter das im Gehäuse oder Inhaltselement angegebene Type-Attribut . Dieses Element sollte eine MIMEType Zeichenfolge enthalten, wie zum Beispiel "image/jpeg". Wenn eine Dateierweiterung mit der MIMEType verbunden ist und auf dem Clientcomputer registriert wurde, wird das Element als Datei dieses Typs betrachtet. Wenn die MIMEType Dateierweiterung nicht mit einer auf dem Clientcomputer registrierten Dateinamenerweiterung verknüpft ist, wird das Element als Weblinktyp behandelt. Der OpenSearch-Anbieter versucht nicht, das URL-Attribut zu analysieren, um die Dateinamenerweiterung zu suchen.
  • Wenn die MIMEType Dateierweiterung einer Dateinamenerweiterung zugeordnet ist, die auf dem Clientcomputer registriert ist, bestimmt der Anbieter, ob die Dateinamenerweiterung ein bekannter Webdateityp ist (.htm, .html, .asp, .aspx, .php, .swf, STM). Wenn ja, wird der Dateityp als Weblinktyp betrachtet; andernfalls gilt sie als Dateityp. Wenn das MIMEType "text/html" Element beispielsweise der Dateinamenerweiterung .htm zugeordnet ist, wird dieses Element als Weblink und nicht als .htm Dateityp betrachtet.

Vermeiden potenzieller Hindernisse für die Aktivierung eines Datenspeichers

Einige Datenspeicher stellen keinen openSearch-kompatiblen Webdienst bereit, können aber trotzdem mit der Windows-Sammelsuche verbunden werden. Zu diesen Datenspeichern gehören:

  • Remoteindizes mit Authentifizierungsmethoden, die in Windows 7 Federated Search nicht unterstützt werden.

    Beispiele sind formularbasierte Authentifizierung und andere benutzerdefinierte Authentifizierungsmethoden.

  • Wenn ein hochwertiger öffentlicher Store öffentliche Web-APIs enthält, kann jeder einen anderen Webdienst schreiben, der openSearch-kompatibel ist, und diese APIs im Hintergrund aufruft.

    Beispiele sind die Bibliothek des Kongresses und medizinische Forschungsdatenbanken.

  • Proprietäre Unternehmensdatenspeicher oder -indizes sowie ältere Inhaltsverwaltungsspeicher, für die es möglicherweise unmöglich ist, ein Front-End zu implementieren.

Es gibt jedoch Alternativen, die Hindernisse für die Aktivierung eines Datenspeichers vermeiden können. Im Folgenden finden Sie einige dieser Alternativen:

So schreiben Sie einen Webdienst des Mittleren Mannes, wenn Sie den Webdienst für die vorhandene Datenquelle nicht ändern können, oder der Webdienst stellt eine benutzerdefinierte API bereit:

  1. Schreiben Sie einen Vermittlerwebdienst, der eine Windows 7-Abfrage akzeptieren kann.
  2. Stellen Sie eine Verbindung mit Ihrer Datenquelle her, und rufen Sie die Abfrageergebnisse ab.
  3. Formatieren Sie die Ergebnisse im RSS- oder Atom-Format neu.
  4. Gibt die Ergebnisse an den Windows 7-Client zurück.
  5. Beachten Sie, dass Sie für Unternehmensdatendienste und viele Internetdatendienste möglicherweise die Benutzeranmeldeinformationen im Namen des Webdiensts übergeben müssen, um die Ergebniskürzung basierend auf den Berechtigungen des Benutzers durchzuführen.

So verwenden Sie eine vorhandene Suchmaschine, wenn Sie keinen öffentlichen Datenspeicher aktivieren können:

  1. Verwenden Sie eine öffentliche Suchmaschine, die OpenSearch bereits mit RSS unterstützt. Sie können dies tun, indem Sie Ihren Benutzern eine OSDX-Datei mit einer URL-Vorlage zur Verfügung stellen, die Ergebnisse nur auf diejenigen für Ihre bestimmte Domäne beschränkt.

  2. Sehen Sie sich das folgende Beispiel einer OpenSearch-Beschreibung an, um nur den Hilfeinhalt für Windows mithilfe einer Abfrage für live.com zu durchsuchen.

    <?xml version="1.0" encoding="UTF-8"?>
    <OpenSearchDescription xmlns="https://a9.com/-/spec/opensearch/1.1/">
      <ShortName>Windows Help</ShortName>
      <Description>Search Windows Help using the live.com search engine</Description>
      <Language></Language>
      <Url type="text/html" template="https://windowshelp.microsoft.com/windows/search.aspx?=&amp;qu={searchTerms}"/>
      <Url type="application/rss+xml" template="https://api.search.live.com/rss.aspx?source=web&amp;query={searchTerms} site:windowshelp.microsoft.com&amp;web.count=50"/>
    </OpenSearchDescription>
    

So verwenden Sie einen vorhandenen Indizierungsserver, der OpenSearch unterstützt, wenn Sie keine proprietären Unternehmensdatenspeicher oder Indizes aktivieren können:

  1. Wählen Sie einen vorhandenen Indizierungsserver aus, der OpenSearch unterstützt, um Ihre Inhalte zu indizieren, z. B. den SharePoint-Suchserver.
  2. Erstellen Sie eine OSDX-Datei, die die Ergebnisse aus dem SharePoint-Index auf nur diejenigen von Ihrem Server beschränkt, indem Sie ihre KeyWord-Syntax in der URL-Vorlage verwenden.

So schreiben Sie einen clientseitigen Datenspeicher, wenn eine serverseitige Lösung nicht funktioniert:

  1. Schreiben Sie eine clientseitige OpenSearch-Datenquelle , die sich zwischen dem Windows OpenSearch-Anbieter und der externen Datenquelle befindet.
  2. Verwenden Sie die IOpenSearchSource-Schnittstellen-API im Windows SDK, um eine entsprechend konfigurierte .searchconnector-ms-Datei zu erstellen, über die Windows Explorer Ihre Implementierung mit den Abfrageparametern aufrufen kann. Ihre Implementierung kann dann Ergebnisse zurückgeben, die im RSS- oder Atom-Format formatiert sind. Auf diese Weise kann Ihre Implementierung eine benutzerdefinierte Authentifizierungsbenutzeroberfläche bereitstellen und mithilfe der proprietären API eine Verbindung mit der Datenquelle herstellen.

Hinweis

Wenn Sie eine .osdx-Datei öffnen, wird eine SEARCHConnector-ms-Datei (Suchconnector) im Verzeichnis %userprofile%/searches erstellt und ein Link zu dieser Datei im Verzeichnis %userprofile%/links platziert.

 

Weitere Ressourcen

Weitere Informationen zum Implementieren des Suchverbunds in Remotedatenspeicher mit OpenSearch-Technologien in Windows 7 und höher finden Sie unter "Zusätzliche Ressourcen" bei der Sammelsuche in Windows.

Sammelsuche in Windows

Erste Schritte mit der Sammelsuche in Windows

Verbinden des Webdiensts in der Windows-Sammelsuche

Erstellen einer OpenSearch-Beschreibungsdatei in der Windows-Sammelsuche

Folgen bewährter Methoden in der Windows-Sammelsuche

Bereitstellen von Suchconnectors in der Windows-Sammelsuche