Freigeben über


Aktivieren des Datenspeichers in der Windows-Verbundsuche

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

Dieses Thema ist wie folgt organisiert:

Bedingungen für die Annahme der Suchanfrage

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

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

  • 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 Verbundsuche unterstützt das Senden von POST Anforderungen an einen Webdienst nicht.

 

Weitere Informationen zum Erstellen einer URL finden Sie unter "URL-Vorlagenparameter" unter Erstellen einer OpenSearch-Beschreibungsdatei in der Windows-Verbundsuche.

Unterstützte Abfragesyntax

In Windows 7 wird keine spezifische Abfragesyntax erwartet. Der OpenSearch-Anbieter akzeptiert alle Begriffe, die der Benutzer in windows Explorer in das Eingabefeld eingibt, und codiert sie in die URL. Dies entspricht der URL-Vorlage, die unter "URL-Vorlagenparameter" unter Erstellen einer OpenSearch-Beschreibungsdatei in der Windows-Verbundsuche beschrieben wird.

Benutzer erwarten, dass separate Begriffe 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 Windows-basierte Authentifizierung und kann Anmeldeinformationen für Webdienste über die folgenden Protokolle bereitstellen:

  • NTLM.
  • Kerberos.
  • Basic (nur über HTTPS).
  • Andere unter Windows installierte Sicherheitsunterstützungsanbieter (Security Support Providers, SSPs), die zusätzliche Abfragekapazität bereitstellen. In der Dokumentation zum SSP Interface SDK finden Sie Informationen zum potenziellen Hinzufügen weiterer SSPs.

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 in den Windows-Namespace für jede der Eigenschaften einschließen. Sie können beispielsweise ihre eigenen benutzerdefinierten XML-Elemente innerhalb des Elementelements hinzufügen, um Windows zusätzliche Metadaten bereitzustellen. Sie können auch Elemente aus anderen XML-Namespaces zuordnen, z. B. iTunes

Beispiel für eine RSS-Feedausgabe

Die folgende RSS-Feed-Beispielausgabe gibt 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 der WIndows-Verbundsuche" und "Benutzerdefinierte Eigenschaftenzuordnungen" unter Erstellen einer OpenSearch-Beschreibungsdatei in der Windows-Verbundsuche.

Automatische Zuordnung zu Windows Shell-Eigenschaften

Innerhalb der Elemente in Ihrem RSS-Feed können Sie andere XML-Elemente einschließen, die automatisch windows Shell-Systemeigenschaften zugeordnet werden. Fügen Sie hierzu ein Element ein, das nach der Windows Shell-Eigenschaft benannt ist und dem Windows Shell-Systemnamespace als Präfix vorangestellt ist. Das folgende Beispiel veranschaulicht die Namespacedeklaration win=" http://schemas.microsoft.com/windows/2008/propertynamespace" und die Einbindung eines Elements für die Eigenschaftenzuordnung 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>someone@example.com
   </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 Windows Shell-Eigenschaftsnamen verwenden und den genauen URI (Uniform Resource Identifier) einschließen, wie im folgenden Beispiel gezeigt:

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.

Werte für Datum und Uhrzeit

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 mit ToString("R") verwenden, um das richtige Format auszugeben.

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

Grundlegendes zum Windows-Karten von Elementen zu Dateitypen

Die Suche auf der Windows-Explorer-Benutzeroberfläche ermöglicht Es Benutzern, Ergebnisse als Dateien zu behandeln, wenn ein RSS-Element auf eine remote gespeicherte Datei verweist. Der Benutzer kann Elemente auf den Desktop ziehen und ablegen, und auf der Windows-Explorer-Benutzeroberfläche wird das richtige Symbol angezeigt und das entsprechende Kontextmenü bereitgestellt. Wenn das RSS-Element nicht auf eine remote gespeicherte Datei verweist, wird die Datei als Link behandelt, und Benutzer können Aktionen darauf ausführen, z. B. eine Verknüpfung zu erstellen oder sie im Browser zu öffnen.

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

Flussdiagramm mit Pfaden von einem Element bis hin zu Entscheidungen zur Behandlung als Element vom Typ

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

  • Ermitteln 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 (z file:///\\server\share\etc\item.ext. B. ) verwendet, behandelt der OpenSearch-Anbieter den Link als Datei und bestimmt den Typ anhand der Dateinamenerweiterung, die im Pfad verwendet wird (.ext in diesem Beispiel).

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

  • 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 type-Attribut , das im Gehäuse oder inhaltselement angegeben ist. Dieses Element sollte eine MIMEType Zeichenfolge wie enthalten "image/jpeg". Wenn einer MIMEType Dateinamenerweiterung zugeordnet ist, die auf dem Clientcomputer registriert ist, wird das Element als Datei dieses Typs betrachtet. Wenn nicht MIMEType einer auf dem Clientcomputer registrierten Dateinamenerweiterung zugeordnet ist, wird das Element als Weblinktyp behandelt. Der OpenSearch-Anbieter versucht nicht, das Url-Attribut zu analysieren, um die Dateinamenerweiterung zu suchen.
  • Wenn der MIMEType 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 wird es als Dateityp betrachtet. Wenn MIMEType "text/html" z. B. der .htm Dateinamenerweiterung zugeordnet ist, wird dieses Element als Weblink statt als .htm Dateityp betrachtet.

Vermeiden potenzieller Hindernisse beim Aktivieren eines Datenspeichers

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

  • Remoteindizes mit Authentifizierungsmethoden, die in der Windows 7-Verbundsuche nicht unterstützt werden.

    Beispiele hierfür sind formularbasierte Authentifizierung und andere benutzerdefinierte Authentifizierungsmethoden.

  • Wenn ein hochwertiger öffentlicher Speicher über öffentliche Web-APIs verfügt, kann jeder einen anderen Webdienst schreiben, der mit OpenSearch kompatibel ist und diese APIs im Hintergrund aufruft.

    Beispiele hierfür sind die Library of Congress und medizinische Forschungsdatenbanken.

  • Proprietäre Unternehmensdatenspeicher oder -indizes sowie Ältere Content Management-Speicher, für die es möglicherweise nicht mö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, wenn Sie den Webdienst für die vorhandene Datenquelle nicht ändern können oder der Webdienst eine benutzerdefinierte API bereitstellt:

  1. Schreiben Sie einen Webdienst für den Mittleren, 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.
  4. Gibt die Ergebnisse an den Windows 7-Client zurück.
  5. Beachten Sie, dass Sie bei Unternehmensdatendiensten und vielen Internetdatendiensten die Benutzeranmeldeinformationen möglicherweise im Namen des Webdiensts übergeben müssen, um eine 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. Dazu können Sie Ihren Benutzern eine OSDX-Datei mit einer URL-Vorlage bereitstellen, die nur die Ergebnisse für Ihre spezifische Domäne einschrä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 die Ergebnisse ihres Servers beschränkt, indem Sie deren 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 können. Ihre Implementierung kann dann Ergebnisse zurückgeben, die im RSS- oder Atom-Format formatiert sind. Auf diese Weise kann Ihre Implementierung eine benutzerdefinierte Benutzeroberfläche für die Authentifizierung bereitstellen und mithilfe der proprietären API eine Verbindung mit der Datenquelle herstellen.

Hinweis

Beim Öffnen einer OSDX-Datei wird eine .searchconnector-ms-Datei (Suchconnector) im Verzeichnis %userprofile%/searches erstellt und ein Link dazu im Verzeichnis %userprofile%/links platziert.

 

Zusätzliche Ressourcen

Weitere Informationen zum Implementieren eines Suchverbunds zu Remotedatenspeichern mithilfe von OpenSearch-Technologien in Windows 7 und höher finden Sie unter "Zusätzliche Ressourcen" unter Verbundsuche in Windows.

Verbundsuche in Windows 10

Erste Schritte mit der Verbundsuche in Windows

Verbinden Ihres Webdiensts in der Windows-Verbundsuche

Erstellen einer OpenSearch-Beschreibungsdatei in der Windows-Verbundsuche

Befolgen bewährter Methoden in der Windows-Verbundsuche

Bereitstellen von Suchconnectors in der Windows-Verbundsuche