Aracılığıyla paylaş


Kayıtlı Arama Dosyası Biçimi

Windows Vista ve sonraki sürümlerde, kullanıcılar aramaları, sorguyu Windows arama alt sistemi tarafından kullanılabilecek bir formda depolayan bir XML dosyası tarafından oluşturulan bir Arama Klasörü olarak kaydedebilir. Bu konu, dosya biçimini (*.search-ms) açıklar ve aşağıdaki bölümleri içerir:

Kaydedilen Aramalara Genel Bakış

Kullanıcılar bir arama sorgusunu, Aramalar klasörünün altında Windows Gezgini'nde görüntülenen bir sanal klasör olan Arama Klasörü olarak kaydedebilir. Arama Klasörü açıldığında kaydedilen arama çalıştırılır ve up-totarih sonuçları görüntülenir. Kaydedilen arama dosyası sorguyu Windows Search'te işlem yapabilecek, ne aranacağını, nerede aranacağını ve sonuçların nasıl sunılacağını belirten bir biçimde depolar.

Kaydedilen arama, %userprofile%\Searches klasöründeki bir XML dosyasından (*.search-ms) oluşturulur. Veriler XML dosyasındaki üç birincil öğeye ayrılır:

  • <viewInfo> sunu bilgilerini belirtir
  • <sorgu> belirtir (arama sorgusu bilgileri
  • <özellikleri> *.search-ms dosyasının özelliklerini belirtir

Aşağıdaki örnekte, kaydedilmiş bir arama dosyasının üst düzey yapısı gösterilmektedir.

<?xml version="1.0"?>
<persistedQuery version="1.0">

    <viewInfo ...>
        ...
    </viewInfo>

    <query>
        ...
    </query>

    <properties>
        ...
    </properties>

</persistedQuery>

<viewInfo> Öğesi

<viewInfo> öğesi, sonuçların son kullanıcıya nasıl sunulduğunu belirtir. Aşağıdaki örnekte öğesinin yapısı gösterilmektedir.

...
    <viewInfo viewMode=""
              iconSize=""
              stackIconSize=""
              autoListFlags=""
              folderFlags=""
              taskFlags=""
              displayName="">

        <visibleColumns>
            <column viewField=""/>
        </visibleColumns>

        <frequentlyUsedColumns>
            <column viewField= ""/>
        </frequentlyUsedColumns>

        <columnChooserColumns >
            <column viewField=""/>
        </columnChooserColumns >

        <groupBy viewField=""
                 direction=""/>

        <stackList>
            <stack viewField=""/>
        </stackList>

        <sortList>
            <sort viewField=""
                  direction=""/>
        </sortList>
    </viewInfo>
...

<viewInfo> Öznitelikleri

Aşağıdaki tabloda <viewInfo> öğesinin öznitelikleri açıklanmaktadır.

Öznitelik Açıklama Değer
viewMode Klasör görünümünü belirtir. Ayrıntılar | Simgeler | Fayans
iconSize Yığılmadığında öğeler için simgelerin ve küçük resimlerin varsayılan boyutunu denetler. 16 ile 256 arasında tamsayı
stackIconSize Yalnızca dahili kullanım için. Kullanmayın. Yok
displayName Yalnızca dahili kullanım için. Kullanmayın. Yok
autoListFlags Yalnızca dahili kullanım için. Kullanmayın. Yok
folderFlags Yalnızca dahili kullanım için. Kullanmayın. Yok
taskFlags Yalnızca dahili kullanım için. Kullanmayın. Yok

<viewInfo> Alt Öğeleri

<viewInfo> öğesinin alt öğeleri, Windows Gezgini arama sonuçlarında hangi sütunların görüneceğini ve sonuçların nasıl gruplandırılıp sıralanacağını belirtir. Her alt öğe, sistem özelliklerinin kurallı adlarından (örneğin, System.DisplayName) tanımlanan sıralı bir sütun kümesi içerir. Kaydedilen arama dosyasında tanımlanmamışsa, arama sonuçları görüntülenen dosya türlerine uygun varsayılan bir sütun kümesiyle sunulur.

Öğe Açıklama Değer
visibleColumns Sonuç görünümünde görüntülenecek sıralı sütun listesini belirtir. Kullanıcı bu listeyi değiştirebilir. Herhangi bir sistem özelliği.
frequentlyUsedColumns Yalnızca dahili kullanım için. Kullanmayın. Yok
columnChooserColumns Yalnızca dahili kullanım için. Kullanmayın. Yok
groupBy Sonuçların gruplandırıldığı tek bir sistem özelliği belirtir. Kullanıcı bu değeri değiştirebilir. Herhangi bir sistem özelliği.
sortList Sonuçları sıralamak için sıralı bir sütun listesi belirtir. En fazla dört sistem özelliği. Kullanıcı bu listeyi değiştirebilir.
stackList Yalnızca dahili kullanım için. Kullanmayın. Yok

<sorgu> Öğesi

<sorgu> öğesi, sonuçların nasıl sorgulandığını tanımlayan öznitelikleri belirtir. Aşağıdaki örnekte öğesinin yapısı gösterilmektedir.

...
    <query>
        <providers>
            <provider clsid=""/>    <!-- Do not use -->
        </providers>

        <subQueries>
            <subQuery path=""/>           <!-- Do not use -->
            <subQuery knownSearch=""/>    <!-- Do not use -->
        </subQueries>

        <scope>
            <include path=""        nonRecursive=""/>   <!-- [path of location to include] -->
            <include knownFolder="" nonRecursive=""/>   <!-- Known folder ID  -->
            <exclude path=""        nonRecursive=""/>   <!-- [path of location to exclude] -->
            <exclude knownFolder="" nonRecursive=""/>   <!-- Known folder ID  -->
        </scope>

        <kindList>
            <kind name=""/>     <!-- Kind value -->
        </kindList>

        <conditions>
            <condition type="" ...>     <!-- andCondition | orCondition | notCondition | leafCondition -->
                <attributes>
                    <attribute attributeID="" .../> <!-- Do not use -->
                </attributes>
            </condition>
        </conditions>
    </query>
...

Alt Öğeler> sorgu <

Aşağıdaki tabloda, <kapsamı> öğesinin alt öğeleri açıklanmaktadır.

Öğe Açıklama Değer
Sağlayıcı Yalnızca dahili kullanım için. Kullanmayın. Yok
alt Sorgular Yalnızca dahili kullanım için. Kullanmayın. Yok
Kapsam Aramaya dahil edilen veya hariç tutulacak konumları tanımlar. Dahil edilecek veya dışlanacak konumun bir yol veya bilinen klasör kimliği. Bu öğe, aramanın alt yolları (sığ veya derin bir arama) dahil edip etmeyeceğini de belirtebilir.
kindList Aranacak dosya türlerini tanımlar. Herhangi bir System.Kind değeri.
Koşul -ları Sonuçları filtreleme kurallarını belirtir. Örneğin, sonuçlar belirli bir kişi tarafından veya belirli bir kişiye gönderilen e-postalar ile sınırlı olabilir. andCondition, orCondition, notCondition, leafCondition.

<kapsamı> Öğesi

<kapsamı> öğesi, aramaya dahil edilen veya aramanın dışında tutulacak konumları tanımlar. <kapsam> öğesi en az bir <içermeli> alt öğe mevcut ve sıfır veya daha fazla <> öğelerini hariç tutmalıdır. Konumlar bir yol (ortam değişkenleri desteklenir) veya bilinenklasör tanımlayıcısı olarak belirtilebilir. Ayrıca, bu konumların her biri nonRecursive değerini "true" veya "false" (varsayılan olarak özyinelemeli) olarak ayarlayarak derin veya sığ aranacak şekilde belirtilebilir. Dahil edilen konum listesinin bölümleri dışlama öğeleri belirtilerek dışlanabilir.

Aşağıda, belgelere özel klasörde arama yapacak bir <kapsamı> öğesi gösterilir, ancak bu klasörün alt öğeleri, "E:" birimi ve alt öğeleri aranmıyor, ancak "E:\windows" dizini veya alt öğeleri aranmıyor:

...
    <query>
        ...
        <scope>
            <include knownFolder="{FDD39AD0-238F-46AF-ADB4-6C85480369C7}" nonRecursive="true"/>
            <include path="E:\"/>
            <exclude path="E:\Windows" nonRecursive="false"/>
        </scope>
        ...
    </query>
...

<kindList> Öğesi

Bu öğeler, kitaplıkta görünmesi gereken "tür" öğelerinin birleşimini tanımlar. Geçerli değerler şunlardır:

  • takvim
  • iletişim
  • temas
  • belge
  • E-posta
  • beslemek
  • klasör
  • oyun
  • instantmessage
  • günlük
  • bağlantı
  • Film
  • müzik
  • not
  • resim
  • program
  • recordedtv
  • arama klasörü
  • görev
  • Video
  • webhistory
  • madde
  • Diğer

> Öğesi <koşulları

Koşullar, arama sonuçlarının karşılaştırıldığı filtrelerdir. Örneğin, yazar adı veya dosya boyutu gibi belirli ölçütleri karşılayan sonuçları filtreleyebilirsiniz. Koşullar kümesi, mantıksal VE, VEYA ve DEĞİl dalları olan tek bir koşul ağacında yerleşik olarak bulunur.

Aşağıdaki örnekte, <koşulu> öğesinin yapısı gösterilmektedir.

...
    <query>
        ...
        <conditions>
            <condition type="" ...>
                <attributes>
                    <attribute attributeID="" .../>
                </attributes>
            </condition>
        </conditions>
    </query>
...

Koşul türü aşağıdakilerden biri olabilir:

Tür Açıklama Kullanılabilir Öznitelikler
andCondition İki veya daha fazla alt koşulla birlikte Yok
orCondition İki çocuk koşulunun daha hükümsüzleştirilmesi Yok
notCondition Alt koşulun olumsuzlanması Yok
leafCondition Bir özelliği değerle karşılaştırır property, propertyType, işleç, değer, valuetype

<leafCondition> öğesinin öznitelikleri, sonuçların filtrelendiği özellikleri ve değerleri tanımlar.

Örnek: <koşulları> Öğesi

Aşağıdaki örnek, John tarafından yazılan tüm okunmamış öğeler için sonuçları filtreler. Diğer bir ifadeyle, System.IsRead özelliği false olur ve "john" dizesi System.Author veya System.ItemAuthors özelliklerinde görünür.

...
    <query>
        ...
        <conditions>

            <condition type="andCondition">

                <condition type="leafCondition"
                           property="System.IsRead"
                           operator="eq"
                           value="FALSE"/>

                <condition type="orCondition">

                    <condition type="leafCondition"
                               property="System.Author"
                               propertyType="string"
                               operator="wordmatch"
                               value="John"
                               valueType="System.StructuredQueryType.String"/>

                    <condition type="leafCondition"
                               property="System.ItemAuthors"
                               propertyType="string"
                               operator="wordmatch"
                               value="John"
                               valueType="System.StructuredQueryType.String"/>

                </condition>

            </condition>

        </conditions>

    </query>
...

<özellikleri> Öğesi

<özellikleri> öğesi, kaydedilen aramanın özelliklerini açıklar. Kaydedilen arama dosyaları dört özelliği destekler: <yazar>, <tür>, <açıklama>ve <etiketleri>. Bunlar yalnızca dahili kullanım içindir.

Search-ms Dosya Biçiminin Tam Belirtimi

Aşağıda, kaydedilmiş bir arama dosyası için tam XML örneği verilmiştir.

<?xml version="1.0"?>

<persistedQuery version="1.0">

    <!-- The viewInfo section defines how results are displayed to the end user -->
    <viewInfo viewMode=""       <!-- details | icons | tiles -->
              iconSize=""       <!-- Integer -->
              stackIconSize=""  <!-- Do not use -->
              displayName=""    <!-- Do not use -->
              folderFlags=""    <!-- Do not use -->
              taskFlags=""      <!-- Do not use -->
              autoListFlags=""> <!-- Do not use -->

        <visibleColumns>
            <column viewField=""/>  <!-- System.[propertyname] -->
        </visibleColumns>

        <frequentlyUsedColumns>
            <column viewField= ""/> <!-- Do not use -->
        </frequentlyUsedColumns>

        <columnChooserColumns >
            <column viewField=""/>  <!-- Do not use -->
        </columnChooserColumns >

        <groupBy viewField=""       <!-- System.[propertyname] -->
                 direction=""/>     <!-- ascending | descending -->

        <stackList>
            <stack viewField=""/>   <!-- Do not use -->
        </stackList>

        <sortList>
            <sort viewField=""      <!-- System.[propertyname] -->
                  direction=""/>    <!-- ascending | descending -->
        </sortList>
    </viewInfo>

    <!-- The query section defines what gets searched (locations, file kinds) -->
    <query>
        <providers>
            <provider clsid=""/>          <!-- Do not use -->
        </providers>

        <subQueries>
            <subQuery path=""/>           <!-- Do not use -->
            <subQuery knownSearch=""/>    <!-- Do not use -->
        </subQueries>

        <scope>
            <include path=""        nonRecursive=""/>   <!-- [path of location to include] -->
            <include knownFolder="" nonRecursive=""/>   <!-- Known folder ID  -->
            <exclude path=""        nonRecursive=""/>   <!-- [path of location to exclude] -->
            <exclude knownFolder="" nonRecursive=""/>   <!-- Known folder ID  -->
        </scope>

        <kindList>
            <kind name=""/>     <!-- Kind value -->
        </kindList>

        <conditions>
            <condition type="" ...>     <!-- andCondition | orCondition | notCondition | leafCondition -->
                <attributes>
                    <attribute attributeID="" .../> <!-- Do not use -->
                </attributes>
            </condition>
        </conditions>
    </query>

    <!-- The properties section identifies properties of the saved search file itself. -->
    <properties>
        ...             <!-- Do not use -->
    </properties>

</persistedQuery>

Kaydedilmiş Arama Örnekleri

*.search-ms dosyalarına örnekler aşağıda verilmiştir.

Son Belgeler.search-ms

<?xml version="1.0"?>
<persistedQuery version="1.0">
    <viewInfo viewMode="details" iconSize="16">
        <sortList>
            <sort viewField="System.DateModified" direction="descending"/>
        </sortList>
    </viewInfo>

    <query>
        <conditions>
            <condition type="leafCondition" valuetype="System.StructuredQueryType.DateTime" property="System.DateModified" operator="imp" value="R00UUUUUUUUZZXD-30NU" propertyType="wstr" />
        </conditions>
        <kindList>
            <kind name="Document"/>
        </kindList>
        <subQueries>
            <subQuery knownSearch="{4f800859-0bd6-4e63-bbdc-38d3b616ca48}"/>
        </subQueries>
    </query>
</persistedQuery>

En Son Music.search-ms

<?xml version="1.0"?>
<persistedQuery version="1.0">
    <viewInfo viewMode="details" iconSize="16">
        <sortList>
            <sort viewField="System.DateModified" direction="descending"/>
        </sortList>
    </viewInfo>

    <query>
        <conditions>
            <condition type="leafCondition" valuetype="System.StructuredQueryType.DateTime" property="System.DateModified" operator="imp" value="R00UUUUUUUUW-1WNNU" propertyType="wstr"/>
        </conditions>
        <kindList>
            <kind name="Music"/>
        </kindList>
        <subQueries>
            <subQuery knownSearch="{4f800859-0bd6-4e63-bbdc-38d3b616ca48}"/>
        </subQueries>
    </query>
</persistedQuery>

Me.search-ms Tarafından Son Paylaşılan

<?xml version="1.0"?>
<persistedQuery version="1.0">
    <viewInfo viewMode="details" iconSize="16">
        <visibleColumns>
            <column viewField="System.ItemNameDisplay"/>
            <column viewField="System.DateModified"/>
            <column viewField="System.Keywords"/>
            <column viewField="System.SharedWith"/>
            <column viewField="System.ItemFolderPathDisplayNarrow"/>
        </visibleColumns>
        <frequentlyUsedColumns>
            <column viewField="System.Author"/>
            <column viewField="System.Kind"/>
            <column viewField="System.Size"/>
            <column viewField="System.Title"/>
            <column viewField="System.Rating"/>
        </frequentlyUsedColumns>
        <sortList>
            <sort viewField="System.SharedWith" direction="descending"/>
        </sortList>
    </viewInfo>

    <query>
        <conditions>
            <condition type="andCondition">
                <condition type="leafCondition" property="System.IsShared" operator="eq" value="true"/>
                <condition type="leafCondition" property="System.FileOwner" operator="eq" value="[Me]"/>
            </condition>
        </conditions>
        <kindList>
            <kind name="item"/>
        </kindList>
        <scope>
            <include knownFolder="{5E6C858F-0E22-4760-9AFE-EA3317B67173}"/>
            <include knownFolder="{DFDF76A2-C82A-4D63-906A-5644AC457385}"/>
        </scope>
    </query>
</persistedQuery>