Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hierin wordt uitgelegd hoe u uw gegevensarchief toegankelijk kunt maken voor een OpenSearch-webservice en hoe u potentiële belemmeringen hiervoor kunt vermijden.
Dit onderwerp is als volgt ingedeeld:
- voorwaarden voor acceptatie van zoekaanvragen
- Queries verzenden en zoekresultaten teruggeven in RSS- of Atom-
- Automatische toewijzing van Windows Shell-eigenschappen
- Begrijpen hoe Windows items aan bestandstypen toewijst
- Mogelijke obstakels bij het inschakelen van een datastore vermijden
- Aanvullende bronnen
- Verwante onderwerpen
Voorwaarden voor acceptatie van zoekaanvragen
De OpenSearch-webservice die u maakt op uw webserver moet voldoen aan de volgende twee vereisten:
In staat zijn om een
GET URL-query van de client te accepteren.Hiermee staat u toe dat de zoektermen in de URL worden ingesloten.
In het volgende voorbeeld ziet u hoe een zoekterm kan worden ingesloten in een URL.
https://example.com/search.aspx?query=terms¶m=mysearchword
Notitie
Federatieve zoekopdrachten bieden geen ondersteuning voor het verzenden van POST aanvragen naar een webservice.
Zie URL-sjabloonparameters in Een OpenSearch-beschrijvingsbestand maken in Windows Federated Searchvoor meer informatie over het maken van een URL.
Ondersteunde querysyntaxis
Er is geen specifieke querysyntaxis verwacht in Windows 7. De OpenSearch-provider accepteert de termen die de gebruiker invoert in het invoervak in Windows Verkenner en codeert deze in de URL. Dit gebeurt volgens de URL-sjabloon die wordt beschreven in URL-sjabloonparameters in Een OpenSearch-beschrijvingsbestand maken in Windows Federated Search.
Gebruikers verwachten dat afzonderlijke termen impliciet als AND worden behandeld. Een query voor 'Microsoft Windows' moet bijvoorbeeld alleen resultaten retourneren die zowel Windows als Microsoft bevatten.
Ondersteunde verificatieprotocollen
Windows Federated Search biedt ondersteuning voor Windows-verificatie en kan referenties voor webservices bieden via de volgende protocollen:
- NTLM.
- Kerberos.
- Basic (alleen via https).
- Andere SSP's (Security Support Providers) die op Windows zijn geïnstalleerd en extra capaciteiten voor query's bieden. Zie de SSP Interface SDK-documentatie om de mogelijke toevoeging van andere SSP's bij te houden.
Query's verzenden en zoekresultaten retourneren in RSS of atom
De OpenSearch provider is verantwoordelijk voor het toewijzen van de XML-elementwaarden aan windows Shell-systeemeigenschappen die kunnen worden gebruikt door Windows-toepassingen. Maar u bent niet beperkt tot de standaardtoewijzingen van standaard RSS- of Atom-elementen en kan aangepaste XML-elementen bevatten in de Windows-naamruimte voor elk van de eigenschappen. U kunt bijvoorbeeld uw eigen aangepaste XML-elementen toevoegen binnen het item element om aanvullende metagegevens aan Windows te bieden. U kunt ook elementen uit andere XML-naamruimten toewijzen, zoals iTunes
Voorbeeld van een RSS-feeduitvoer
In het volgende voorbeeld retourneert de RSS-feeduitvoer één item.
<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>
Voor meer gedetailleerde informatie over het toewijzen van eigenschappen, zie de secties "Uitgebreide elementen in Windows Federated Search" en "Aangepaste eigenschapstoewijzingen" in Creating an OpenSearch Description File in Windows Federated Search.
Automatische toewijzing aan Windows Shell-eigenschappen
Binnen de items in uw RSS-feed kunt u ervoor kiezen om andere XML-elementen op te nemen die automatisch worden toegewezen aan systeemeigenschappen van Windows Shell. Neem hiervoor een element op dat is vernoemd naar de Windows Shell-eigenschap en voorafgegaan door de Windows Shell-systeemnaamruimte. In het volgende voorbeeld ziet u de naamruimtedeclaratie win=" http://schemas.microsoft.com/windows/2008/propertynamespace" en de opname van een element voor de eigenschapstoewijzing 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>
Het naamruimtevoorvoegsel dat hier wordt gebruikt ("win") is een suggestie; u kunt elk voorvoegsel gebruiken. U moet echter de exacte eigenschapsnamen van Windows Shell gebruiken en moet de exacte URI (Uniform Resource Identifier) bevatten, zoals wordt weergegeven in het volgende voorbeeld:
http://schemas.microsoft.com/windows/2008/propertynamespace
Over systeemeigenschappen van Windows Shell
Windows definieert een volledige lijst met systeemeigenschappen en de indeling van het waardetype die vereist is voor elke eigenschap. De documentatie voor de eigenschap System.FileExtension Windows Shell geeft bijvoorbeeld aan dat de waarde het voorloopteken moet bevatten (".docx" en niet "docx").
datum- en tijdwaarden
De voorkeursnotatie voor datum en tijd is ISO-8601, zoals wordt weergegeven in het volgende voorbeeld:
2008-01-16T 19:20:30:.45+01:00
.NET-ontwikkelaars moeten de klasse DateTime met ToString("R") gebruiken om de juiste indeling uit te voeren.
Zie "Extended Elements in Windows Federated Search" in Creating an OpenSearch Description File in Windows Federated Searchvoor meer gedetailleerde informatie over het toewijzen van eigenschappen.
Informatie over hoe Items in Windows worden toegewezen aan bestandstypen
Door binnen de gebruikersinterface van Windows Verkenner te zoeken, kunnen gebruikers de zoekresultaten als bestanden behandelen wanneer een RSS-item verwijst naar een bestand dat op afstand is opgeslagen. De gebruiker kan items naar het bureaublad slepen en neerzetten en de gebruikersinterface van Windows Verkenner geeft het juiste pictogram weer en biedt het juiste snelmenu. Als het RSS-item niet verwijst naar een extern opgeslagen bestand, wordt het bestand behandeld als een koppeling en kunnen gebruikers er acties op uitvoeren, zoals het maken van een snelkoppeling of het openen in de browser.
In het volgende stroomdiagram ziet u hoe Windows het bestandstype van een item bepaalt.
De OpenSearch provider voert de volgende stappen uit om een item toe te wijzen aan een bestandstype:
- Bepaal of het item moet worden behandeld als een bestand of een webkoppeling.
- Identificeer de juiste bestandsnaamextensie die moet worden gebruikt.
Als het item bijvoorbeeld een koppelings-URL heeft die gebruikmaakt van een bestandssysteempad (zoals file:///\\server\share\etc\item.ext), behandelt de OpenSearch-provider de koppeling als een bestand en bepaalt het type door de bestandsnaamextensie die wordt gebruikt in het pad (.ext in dit voorbeeld).
Als het item gebruikmaakt van de standaard RSS-behuizing of MediaRSS media:content element, gaat de OpenSearch provider ervan uit dat het item een bestand is en de bestandsnaamextensie als volgt identificeert:
- Als de eigenschap System.FileExtension Windows Shell is toegewezen voor het item, gebruikt de provider die bestandsnaamextensie.
- Als de eigenschap System.FileExtension Windows Shell niet is toegewezen, gebruikt de provider het kenmerk Type dat is opgegeven in de bijlage of het inhoudselement. Dit element moet een
MIMETypetekenreeks bevatten, zoals"image/jpeg". Als deMIMETypeis gekoppeld aan een bestandsnaamextensie die is geregistreerd op de clientcomputer, wordt het item beschouwd als een bestand van dat type. Als deMIMETypeniet is gekoppeld aan een bestandsnaamextensie die is geregistreerd op de clientcomputer, wordt het item behandeld als een webkoppelingstype. De OpenSearch-provider probeert de URL kenmerk niet te parseren om de bestandsnaamextensie te vinden. - Als de
MIMETypeis gekoppeld aan een bestandsnaamextensie die is geregistreerd op de clientcomputer, bepaalt de provider of de bestandsnaamextensie een bekend webbestandstype is (.htm, .html, .asp, .aspx, .php, .swf, .stm). Zo ja, dan wordt het bestandstype beschouwd als een webkoppelingstype; anders wordt het beschouwd als een bestandstype. Als deMIMEType "text/html"bijvoorbeeld is gekoppeld aan de bestandsextensie .htm, wordt dat item beschouwd als een webkoppeling in plaats van als een .htm bestandstype.
Potentiële belemmeringen voorkomen voor het inschakelen van een gegevensarchief
Sommige gegevensarchieven bieden geen OpenSearch--compatibele webservice, maar kunnen nog steeds worden verbonden met Windows Federated Search. Dergelijke gegevensarchieven zijn onder andere:
Op afstand geplaatste indexen met verificatiemethoden die in Windows 7 Federatieve zoekopdrachten niet worden ondersteund.
Voorbeelden hiervan zijn verificatie op basis van formulieren en andere aangepaste verificatiemethoden.
Als een openbaar archief met een hoge waarde openbare web-API's heeft, kan iedereen een andere webservice schrijven die is OpenSearch-compatibel en roept deze API's achter de schermen aan.
Voorbeelden hiervan zijn de bibliotheek van congressen en medische onderzoeksdatabases.
Bedrijfseigen zakelijke gegevensarchieven of -indexen en verouderde inhoudsbeheerarchieven, waarvoor het mogelijk onmogelijk is om een front-end te implementeren.
Er zijn echter alternatieven die belemmeringen voor het inschakelen van een gegevensarchief kunnen voorkomen. Hier volgen enkele van deze alternatieven:
Een middle-man-webservice schrijven wanneer u de webservice voor de bestaande gegevensbron niet kunt wijzigen of als de webservice een aangepaste API biedt:
- Schrijf een middle-man-webservice die een Windows 7-query kan accepteren.
- Maak verbinding met uw gegevensbron en haal de queryresultaten op.
- De resultaten opnieuw opmaken in RSS- of Atom-indeling.
- De resultaten retourneren aan de Windows 7-client.
- Houd er rekening mee dat u voor zakelijke gegevensservices en veel internetgegevensservices mogelijk de gebruikersreferenties moet doorgeven namens de webservice om resultaten te beperken op basis van de machtigingen van de gebruiker.
Een bestaande zoekmachine gebruiken wanneer u een openbaar gegevensarchief niet kunt inschakelen:
Gebruik een openbare zoekmachine die al ondersteuning biedt voor OpenSearch- met RSS. U kunt dit doen door uw gebruikers een OSDX-bestand te bieden met een URL-sjabloon die alleen resultaten voor uw specifieke domein beperkt.
Zie het volgende voorbeeld van een OpenSearch beschrijving voor het zoeken naar alleen de Help-inhoud voor Windows met behulp van een query op live.com.
<?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?=&qu={searchTerms}"/> <Url type="application/rss+xml" template="https://api.search.live.com/rss.aspx?source=web&query={searchTerms} site:windowshelp.microsoft.com&web.count=50"/> </OpenSearchDescription>
Als u een bestaande indexeringsserver wilt gebruiken die OpenSearch ondersteunt wanneer u geen eigen ondernemingsgegevensarchieven of indexen kunt inschakelen:
- Selecteer een bestaande indexeringsserver die ondersteuning biedt voor OpenSearch- om uw inhoud te indexeren, zoals de SharePoint Search Server.
- Maak een .osdx-bestand dat de resultaten van de SharePoint-index beperkt tot alleen die van uw server met behulp van hun KeyWord-syntaxis in de URL-sjabloon.
Een gegevensarchief aan de clientzijde schrijven als een oplossing alléén aan de serverzijde niet werkt:
- Schrijf een OpenSearch gegevensbron aan de clientzijde die zich bevindt tussen de Windows OpenSearch provider en de externe gegevensbron.
- Gebruik de IOpenSearchSource Interface API in de Windows SDK om een correct geconfigureerd .searchconnector-ms-bestand te maken waarmee Windows Verkenner uw implementatie kan aanroepen met de queryparameters. Uw implementatie kan vervolgens resultaten retourneren die zijn opgemaakt in RSS- of Atom-indeling. Hierdoor kan uw implementatie aangepaste verificatiegebruikersinterface bieden en verbinding maken met de gegevensbron met behulp van de eigen API.
Notitie
Als u een .osdx-bestand opent, wordt een .searchconnector-ms-bestand (zoekconnector) gemaakt in de map %userprofile%/zoekopdrachten en wordt er een koppeling naar gemaakt in de map %userprofile%/links.
Aanvullende bronnen
Zie 'Aanvullende bronnen' op Federatieve zoekfunctie in Windowsvoor meer informatie over het implementeren van zoekfederatie naar externe gegevensarchieven met behulp van OpenSearch-technologieën in Windows 7 en hoger.
Verwante onderwerpen