poskytovatelé vyhledávačů ve Windows Search

Windows Search aktuálně používá vyhledávání na webu z aplikace Microsoft Bing k vrácení webového obsahu a výsledků hledání. V Evropském hospodářském prostoru (EHP) můžete nainstalovat aplikace, které implementují poskytovatele webového vyhledávání, aby v Windows Hledání vrátily webový obsah a výsledky hledání.

Výsledky hledání ve Windows se zobrazenými vlastními ikonami návrhů a výchozími ikonami lupy od dvou poskytovatelů webového vyhledávání.

Poskytovatelé vyhledávání se integrují s vyhledávacím prostředím vytvořením balíčku MSIX se souborem manifestu balíčku, který poskytuje požadované informace pro operační systém pro registraci poskytovatele vyhledávání. Po instalaci je poskytovatel vyhledávání ve výchozím nastavení povolený v prostředích Windows Vyhledávání. V nastavení Windows můžou uživatelé povolit a zakázat nainstalované poskytovatele vyhledávání a spravovat pořadí zprostředkovatelů ve výsledcích hledání. Uživatelé můžou poskytovatele vyhledávání odebrat prostřednictvím stránky Nastavení > Apps > Nainstalované aplikace v nastavení Windows.

Během vývoje a testování, kdy je povolen režim vývojáře a aplikace poskytovatele vyhledávání byla nainstalována neoficiálně na zařízení, objeví se v seznamu dostupných poskytovatelů vyhledávání. Další informace najdete v tématu Nastavení pro vývojáře.

Jakmile je zprostředkovatel vyhledávání zaregistrovaný v operačním systému, předají se dotazy uživatelů do koncového bodu HTTP určeného poskytovatelem v manifestu balíčku pomocí standardizovaného řetězce dotazu. Koncový bod vrátí navrhované výsledky v dokumentu JSON. U každé navrhované adresy URL v dokumentu odpovědi poskytovatel vyhledávání obsahuje adresu URL koncového bodu náhledu, která vrátí dokument HTML zobrazený v podokně náhledu v uživatelském rozhraní výsledků hledání.

Tento článek obsahuje pokyny k vytvoření balíčku aplikace zprostředkovatele vyhledávání a podrobné informace o protokolech pro implementaci koncových bodů HTTP zprostředkovatele vyhledávání.

Vytvoření balíčku aplikace rozšiřitelnosti vyhledávání

Poskytovatelé vyhledávání se registrují v operačním systému tím, že poskytují balíček MSIX, který obsahuje požadované informace o poskytovateli, například název poskytovatele vyhledávání a koncové body HTTP pro návrhy a náhledy.

Rozšíření aplikace poskytovatele vyhledávání

Soubor manifestu balíčku aplikace podporuje mnoho různých rozšíření a funkcí pro Windows aplikace. Formát manifestu balíčku aplikace je definován sadou schémat, která jsou zdokumentována v odkazu na schéma manifestu balíčku . Poskytovatelé vyhledávání deklarují své registrační informace v rámci uap3:AppExtension. Atribut Název rozšíření musí být nastaven na "com.microsoft.windows.websearchprovider".

Zprostředkovatelé vyhledávání by měli zahrnout uap3:Properties jako podřízenou součást uap3:AppExtension. Schéma manifestu balíčku nevynucuje strukturu prvku uap3:Properties jinak než vyžadováním dobře formátovaného XML. Zbytek této části popisuje formát XML, který operační systém očekává, aby úspěšně zaregistroval zprostředkovatele vyhledávání.

<uap3:Extension Category="windows.appExtension">
  <uap3:AppExtension Name="com.microsoft.windows.websearchprovider" DisplayName="SearchExampleApp" Id="ContosoSearchApp" PublicFolder="Public">
    <uap3:Properties>
    <!-- Search provider registration content goes here -->
    </uap3:Properties>
  </uap3:AppExtension>
</uap3:Extension>

Hierarchie elementů

uap3:Properties

  Koncový bod

  Protokol

Koncový bod

Adresa URL koncového bodu HTTPS, do kterého operační systém odešle požadavky vyhledávacího dotazu.

Protokol

Schéma protokolu, které se použije při spuštění zadaných výsledků hledání na webu. Pokud zadaný protokol není zaregistrovaný aplikací v operačním systému, spustí se výchozí prohlížeč pro výsledky hledání. Další informace o registraci schémat protokolu naleznete v tématu uap:Protocol.

Ukázkový soubor manifestu balíčku

Následuje příklad souboru manifestu balíčku appmanifest.xml pro registraci poskytovatele služby Windows Search.

<!-- appxmanifest.xml -->

  <uap3:Extension Category="windows.appExtension">
	  <uap3:AppExtension Name="com.microsoft.windows.websearchprovider" DisplayName="CustomSearch" Id="CustomSearchApp" PublicFolder="Public">
		  <uap3:Properties>
			  <Endpoint>https://customsearchendpoint</Endpoint>
			  <Protocol>customsearch</Protocol>
		  </uap3:Properties>
	  </uap3:AppExtension>
  </uap3:Extension>
  <uap:Extension Category="windows.protocol">
	  <uap:Protocol Name="customsearch"/>
  </uap:Extension>

Implementace koncového bodu návrhu poskytovatele vyhledávání Windows

Poskytovatelé vyhledávání musí zveřejnit a zaregistrovat koncový bod HTTPS, který je volán operačním systémem, když uživatel zadá do vyhledávacího pole Windows. Tento koncový bod by měl vrátit řetězec ve formátu JSON obsahující návrhy hledání zadaného uživatelského dotazu. Obsah musí být doručen přes PROTOKOL HTTPS. Integrace vyhledávání nepodporuje obsah doručované přes protokol HTTP.

Doporučený formát požadavku HTTPS

Požadavek HTTPS na koncový bod návrhu používá následující formát.

https://contoso.com?setlang=en-US&cc=US&qry=

Parametry řetězce dotazu předané koncovému bodu návrhu jsou následující.

Parametr Popis
setlang Lokalita přidružená k dotazu.
cc Kód země přidružený k dotazu.
qry Dotaz poskytnutý uživatelem. Pokud parametr nemá žádnou hodnotu, tj. zobrazí se v řetězci dotazu jako qry=, je uživatelský dotaz prázdný. Poskytovatelé vyhledávání můžou i nadále poskytovat návrhy a stránky náhledu v reakci na prázdný dotaz. POZNÁMKA Operační systém neprovádí žádnou sanitizaci řetězců dotazu. Poskytovatelé vyhledávání můžou při přijetí dotazu implementovat vlastní sanitizaci.

Návrh hlaviček HTTPS odpovědi

Poskytovatel vyhledávání musí do odpovědi z koncového bodu HTTPS poskytujícího návrhy zahrnout následující hlavičky.

  • Access-Control-Allow-Origin: https://www.bing.com
  • Access-Control-Allow-Credentials: true
  • Access-Control-Allow-Methods: GET
  • Content-Type: application/json; charset=utf-8
  • Délka obsahu: [Musí být přesná délka odpovědi]

Formát JSON návrhu odpovědi

Koncový bod HTTPS zprostředkovatele vyhledávání pro návrhy musí vrátit dokument JSON s následujícím formátem. Názvy klíčů musí přesně odpovídat formátu.

Klíč Popis
Návrhy Obsahuje seznam objektů JSON s klíčem Attributes představujícím návrhy spojené s uživatelským dotazem.
Atributy Obsahuje atributy návrhu.
adresa URL Adresa URL návrhu vyhledávání na webu poskytovatele
dotaz Uživatelský dotaz přidružený k návrhu hledání.
previewPaneUrl Adresa URL koncového bodu preview, ze kterého lze načíst náhled návrhu ve formátu HTML.
secondaryIconUrl Optional. Adresa URL obrázku, který se zobrazí místo výchozí ikony lupy u návrhu. Pokud tento klíč není k dispozici, zobrazí se výchozí ikona spyglassu. Pro nejlepší kvalitu zobrazení by měl být obrázek čtvercový. Oříznutí obrázků, které nejsou čtvercové, není zaručeno.
Text Textový popis návrhu.
{
  "Suggestions": [
    {
      "Attributes": {
        "url": "https://www.contoso.com/search?q=projection+matrix",
        "query": "projection matrix",
        "previewPaneUrl": "https://www.contoso.com/preview",
        "secondaryIconUrl": "https://www.contoso.com/icon.png"
      },
      "Text": "projection matrix"
    },
    {
      "Attributes": {
        "url": "https://www.contoso.com/search?q=rotation+matrix",
        "query": "rotation matrix",
        "previewPaneUrl": "https://www.contoso.com/preview"
      },
      "Text": "rotation matrix"
    }
  ]
}

Implementace koncového bodu poskytovatele služby Windows Search ve verzi Preview

Poskytovatelé vyhledávání vrátí adresu URL koncového bodu HTTPS, který poskytuje náhled stránky přidružené ke každému návrhu ve výsledcích hledání. Odpověď přehledového koncového bodu musí vrátit HTML kód pro funkční stránku.

Náhled formátu požadavku HTTPS

Požadavek HTTPS na koncový bod preview používá následující formát.

https://contoso.com?Darkschemeovr=1

Parametry řetězce dotazu předané koncovému bodu návrhu jsou následující.

Parametr Popis
Darkschemeovr Určuje, jestli má volající Windows systém povolený tmavý motiv. Hodnota je 1, pokud je povolený tmavý motiv a 0, pokud je tmavý motiv zakázán.

Náhled hlaviček odpovědí HTTPS

  • Access-Control-Allow-Origin: https://www.bing.com
  • Access-Control-Allow-Credentials: true
  • Access-Control-Allow-Methods: GET
  • Typ obsahu: text/html; charset=utf-8
  • Délka obsahu: [Musí být přesná délka náhledu html]

Žádosti OPTIONS a sdílení prostředků mezi zdroji (CORS)

Klient Windows Search před každým požadavkem typu GET odešle požadavek HTTP OPTIONS (předběžný požadavek CORS). Zprostředkovatelé vyhledávání musí podporovat metodu požadavku OPTIONS a reagovat pomocí protokolu HTTP 200 OK.