Windows Federasyon Arama'da veri deponuzu etkinleştirme

Veri deponuzun bir OpenSearch web hizmeti tarafından erişilebilmesini sağlamayı ve bunu yapmak için olası engelleri önlemeyi açıklar.

Bu konu aşağıdaki gibi düzenlenmiştir:

Arama isteği kabul koşulları

Web sunucunuzda oluşturduğunuz OpenSearch web hizmeti aşağıdaki iki gereksinimi karşılamalıdır:

  • İstemciden bir GET URL sorgusunu kabul edebilme.

  • Arama terimlerinin URL'ye ekli olmasını sağlayın.

    Aşağıdaki örnekte, arama teriminin URL'ye nasıl ekleyebileceğiniz gösterilmektedir.

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

Notlar

Birleşik arama, bir web hizmetine POST istekleri göndermeyi desteklemez.

 

URL oluşturma hakkında daha fazla bilgi için, Windows Federasyon Arama 'de OpenSearch Açıklama Dosyası Oluşturma'daki "URL Şablonu Parametreleri" konusuna bakın.

Desteklenen sorgu söz dizimi

Windows 7'de belirli bir sorgu söz dizimi beklenmez. OpenSearch sağlayıcısı, kullanıcının Windows Gezgini'ndeki giriş kutusuna girdiği terimleri kabul eder ve URL'ye kodlar. Bunu, Windows Federasyon Arama 'da OpenSearch Açıklama Dosyası Oluşturma'daki "URL Şablonu Parametreleri" bölümünde açıklanan URL şablonuna göre yapar.

Kullanıcılar, ayrı terimlerin örtük olarak BIRLIKTE AND olarak kabul edilmesi beklenir. Örneğin, "Microsoft Windows" sorgusu yalnızca "Windows" ve "Microsoft" içeren sonuçlar döndürmelidir.

Desteklenen kimlik doğrulama protokolleri

Windows Federasyon Araması, Windows tabanlı kimlik doğrulamasını destekler ve aşağıdaki protokoller aracılığıyla web hizmetlerine kimlik bilgileri sağlayabilir:

  • NTLM.
  • Kerberos.
  • Temel (yalnızca https üzerinden).
  • Windows'da ek sorgulama kapasitesi sağlayan diğer Güvenlik Desteği Sağlayıcıları (SSP' ler). Diğer SSP'lerin olası eklenmesinden haberdar olmak için SSP Arabirimi SDK belgelerine bakın.

RSS'de veya atomda sorgu gönderme ve arama sonuçlarını döndürme

OpenSearch sağlayıcısı, XML öğesi değerlerini Windows uygulamaları tarafından kullanılabilecek Windows Kabuğu sistem özellikleriyle eşlemekle sorumludur. Ancak standart RSS veya Atom öğelerinin varsayılan eşlemeleriyle sınırlı değildir ve özelliklerin her biri için Windows ad alanına özel XML öğeleri ekleyebilirsiniz. Örneğin, Windows'a ek meta veriler sağlamak için öğesi öğesine kendi özel XML öğelerinizi ekleyebilirsiniz. Ayrıca, iTunes gibi diğer XML ad alanlarının öğelerini de eşleyebilirsiniz

RSS beslemesi çıktı örneği

Aşağıdaki örnek RSS akışı çıkışı bir öğe döndürür.

<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>

Özellik eşleme hakkında daha ayrıntılı bilgi için, Windows Federasyon Arama 'de OpenSearch Açıklama Dosyası Oluşturma'deki "WIndows Federasyon Aramasında Genişletilmiş Öğeler" ve "Özel Özellik Eşlemeleri" bölümlerine bakın.

Windows Kabuk özelliklerine otomatik haritalama

RSS akışınızdaki öğelerin içinde, Windows Kabuğu sistem özelliklerine otomatik olarak eşlenen diğer XML öğelerini eklemeyi seçebilirsiniz. Bunu yapmak için, Windows Shell özelliği adı verilen ve Windows Shell sistemi ad alanı ön ekiyle başlayan bir öğe ekleyin. Aşağıdaki örnekte ad alanı bildirimi win=" http://schemas.microsoft.com/windows/2008/propertynamespace" ve win:System.Contact.PrimaryEmailAddressözellik eşlemesi için bir öğenin eklenmesi gösterilmektedir:

<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>

Burada kullanılan ad alanı ön eki ("win") bir öneridir; herhangi bir ön ek kullanabilirsiniz. Ancak, tam Windows Shell özellik adlarını kullanmanız ve aşağıdaki örnekte gösterildiği gibi tam Tekdüzen Kaynak Tanımlayıcısını (URI) eklemeniz zorundasınız.

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

Windows Kabuğu Sistem Özellikleri Hakkında

Windows, Sistem Özellikleri tam listesini ve her özellik için gereken değer türü biçimini tanımlar. Örneğin, System.FileExtension Window Shell özelliğinin belgeleri, değerin "docx" yerine baştaki noktayı (".docx" içermesi gerektiğini belirtir.

Tarih ve Saat Değerleri

Aşağıdaki örnekte gösterildiği gibi tercih edilen tarih ve saat biçimi ISO-8601'dir:

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

.NET geliştiricileri, doğru biçimi çıkarmak için DateTime sınıfını ToString("R") ile birlikte kullanmalıdır.

Özellik eşleme hakkında daha ayrıntılı bilgi için, Windows Federasyon Arama 'de OpenSearch Açıklama Dosyası Oluşturma'daki "Windows Federasyon Aramasında Genişletilmiş Öğeler" konusuna bakın.

Windows'un öğeleri dosya türleriyle eşlemesini anlama

Windows Gezgini kullanıcı arabiriminde arama yapmak, bir RSS öğesi uzaktan depolanan bir dosyayı işaret ettiğinde kullanıcıların sonuçları dosya olarak işlemesine izin verir. Kullanıcı öğeleri masaüstüne sürükleyip bırakabilir ve Windows Gezgini kullanıcı arabirimi doğru simgeyi görüntüler ve uygun kısayol menüsünü sağlar. RSS öğesi uzaktan depolanan bir dosyaya işaret etmiyorsa, dosya bağlantı olarak değerlendirilir ve kullanıcılar kısayol oluşturma veya tarayıcıda açma gibi eylemler gerçekleştirebilir.

Aşağıdaki akış çizelgesi, Windows'un bir öğenin dosya türünü nasıl belirlediğini gösterir.

bir öğeden, onu web bağlantı türü veya dosya türü olarak değerlendirme kararlarına giden yolları gösteren akış şeması

OpenSearch sağlayıcısı, bir öğeyi dosya türüne eşlemek için aşağıdaki adımları gerçekleştirir:

  • Öğenin dosya mı yoksa web bağlantısı olarak mı ele alındığını belirleyin.
  • Kullanılacak doğru dosya adı uzantısını belirleyin.

Örneğin, öğenin dosya sistemi yolu (file:///\\server\share\etc\item.extgibi) kullanan bir bağlantı URL'si varsa, OpenSearch sağlayıcısı bağlantıyı dosya olarak ele alır ve yolda kullanılan dosya adı uzantısına göre türü belirler (bu örnekte.ext).

Öğe standart RSS kasası veya MediaRSS media:content öğesini kullanıyorsa, OpenSearch sağlayıcısı öğenin bir dosya olduğunu varsayar ve dosya adı uzantısını aşağıdaki gibi tanımlar:

  • System.FileExtension Windows Shell özelliği öğe için eşlendiyse, sağlayıcı bu dosya adı uzantısını kullanır.
  • System.FileExtension Windows Kabuğu özelliği eşlenmemişse, sağlayıcı, kapsayıcı veya içerik öğesinde belirtilen Type özniteliğini kullanır. Bu öğe MIMETypegibi bir "image/jpeg" dizesi içermelidir. MIMEType istemci bilgisayarda kayıtlı bir dosya adı uzantısıyla ilişkiliyse, öğe bu tür bir dosya olarak kabul edilir. MIMEType istemci bilgisayarda kayıtlı bir dosya adı uzantısıyla ilişkilendirilmemişse, öğe bir web bağlantı türü olarak değerlendirilir. OpenSearch sağlayıcısı, dosya adı uzantısını bulmak için Url özniteliğini ayrıştırmaya çalışmaz.
  • MIMEType istemci bilgisayarda kayıtlı bir dosya adı uzantısıyla ilişkilendirilmişse, sağlayıcı dosya adı uzantısının bilinen bir web dosyası türü (.htm, .html, .asp, .aspx, .php, .swf, .stm) olup olmadığını belirler. Öyleyse, dosya türü bir web bağlantı türü olarak kabul edilir; aksi takdirde, dosya türü olarak kabul edilir. Örneğin, MIMEType "text/html" .htm dosya adı uzantısıyla ilişkilendirilmişse, bu öğe .htm dosya türü yerine web bağlantısı olarak kabul edilir.

Veri depolarını etkinleştirmenin olası engellerini önleme

Bazı veri depoları OpenSearchuyumlu bir web hizmeti sağlamaz, ancak Yine de Windows Federasyon Arama'ya bağlanabilir. Bu tür veri depoları şunlardır:

  • Windows 7 Federasyon Arama'da desteklenmeyen kimlik doğrulama yöntemlerine sahip uzak dizinler.

    Örnek olarak form tabanlı kimlik doğrulaması ve diğer özel kimlik doğrulama yöntemleri verilebilir.

  • Yüksek değerli bir açık mağazanın genel web API'leri varsa, herhangi biri OpenSearch ile uyumlubaşka bir web hizmeti yazabilir ve bu API'leri arka planda çağırabilir.

    Kongre Kütüphanesi ve tıbbi araştırma veritabanları buna örnek olarak verilebilir.

  • Özel kurumsal veri depoları veya dizinleri ve ön ucu uygulamak mümkün olmayan eski içerik yönetimi depoları.

Ancak, veri deposu etkinleştirme engellerini önleyebilecek alternatifler vardır. Bu alternatiflerden bazıları şunlardır:

Var olan veri kaynağı için web hizmetini değiştiremediğiniz veya web hizmetinin özel bir API sağladığı durumlarda bir orta düzey web hizmeti yazmak için:

  1. Windows 7 sorgusunu kabul edebilen bir orta düzey web hizmeti yazın.
  2. Veri kaynağınıza bağlanın ve sorgu sonuçlarını alın.
  3. Sonuçları RSS veya Atom biçiminde yeniden biçimlendirin.
  4. Sonuçları Windows 7 istemcisine döndür.
  5. Kurumsal veri hizmetlerinde ve birçok İnternet veri hizmetinde, kullanıcının izinlerine göre sonuç kırpması gerçekleştirmek için web hizmeti adına kullanıcı kimlik bilgilerini geçirmeniz gerekebileceğini unutmayın.

Genel veri depolarını etkinleştiremediğiniz durumlarda mevcut bir arama altyapısını kullanmak için:

  1. RSS ile OpenSearch zaten destekleyen bir genel arama altyapısı kullanın. Bunu yapmak için kullanıcılarınıza sonuçları yalnızca kendi etki alanınız için olanlarla kısıtlayan bir URL şablonuna sahip bir .osdx dosyası sağlayabilirsiniz.

  2. live.com karşı bir sorgu kullanarak yalnızca Windows için Yardım içeriğini aramak için aşağıdaki OpenSearch açıklamasının aşağıdaki örneğine bakın.

    <?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>
    

Özel kurumsal veri depolarını veya dizinlerini etkinleştiremediğiniz durumlarda OpenSearch'i destekleyen mevcut bir dizin oluşturma sunucusunu kullanmak için:

  1. İçeriğinizin dizinini oluşturmak için SharePoint Search Server gibi OpenSearch destekleyen mevcut bir dizin oluşturma sunucusunu seçin.
  2. URL şablonunda KeyWord söz dizimini kullanarak SharePoint dizinindeki sonuçları yalnızca sunucunuzdaki sonuçlarla kısıtlayan bir .osdx dosyası oluşturun.

Sunucu taraflı bir çözüm işe yaramazsa, istemci taraflı bir veri deposu yazmak:

  1. Windows OpenSearch sağlayıcısı ile dış veri kaynağı arasında yer alacak istemci taraflı bir OpenSearch veri kaynağı yazın.
  2. Windows Gezgini'nin sorgu parametreleriyle uygulamanızı çağırabileceği uygun şekilde yapılandırılmış bir .searchconnector-ms dosyası oluşturmak için Windows SDK'sında IOpenSearchSource Arabirimi API'sini kullanın. Uygulamanız daha sonra RSS veya Atom biçiminde biçimlendirilmiş sonuçlar döndürebilir. Bunun yapılması, uygulamanızın özel kimlik doğrulaması kullanıcı arabirimi sağlamasına ve özel API'sini kullanarak veri kaynağına bağlanmasına olanak tanır.

Notlar

.osdx dosyasını açmak, %userprofile%/searches dizininde bir .searchconnector-ms dosyası (arama bağlayıcısı) oluşturur ve %userprofile%/links dizinine bu dosyaya bir bağlantı yerleştirir.

 

Ek kaynaklar

Windows 7 ve sonraki sürümlerde OpenSearch teknolojilerini kullanarak uzak veri depolarına arama federasyonu uygulama hakkında ek bilgi için, windows Federasyon Araması'nda "Ek Kaynaklar" bölümüne bakın.

Windows 'da Birleşik Arama

Windows'da Federasyon Arama ile Çalışmaya Başlama

Windows Federasyon Arama'nde Web Hizmetinizi Bağlama

Windows Federasyon Arama'nde OpenSearch Açıklama Dosyası Oluşturma

Windows Federated Arama İçin En İyi Uygulamaları İzlemek

Windows Federasyon Araması'nda Arama Bağlayıcılarını Dağıtma