Format File Pencarian Tersimpan
Di Windows Vista dan yang lebih baru, pengguna dapat menyimpan pencarian sebagai Folder Pencarian yang dihasilkan oleh file XML yang menyimpan kueri dalam formulir yang dapat digunakan oleh subsistem pencarian Windows. Topik ini menjelaskan format file (*.search-ms) dan menyertakan bagian berikut:
- Gambaran Umum Pencarian Tersimpan
- <viewInfo> Element
- kueri <> Element
- < Elemen Turunan>
- <properti> Element
- Spesifikasi Lengkap Format File search-ms
- Contoh Pencarian Tersimpan
Gambaran Umum Pencarian Tersimpan
Pengguna dapat menyimpan kueri pencarian sebagai Folder Pencarian, folder virtual yang ditampilkan di Windows Explorer di bawah folder Pencarian. Membuka Folder Pencarian menjalankan pencarian tersimpan dan menampilkan hasil up-to-date. File pencarian tersimpan menyimpan kueri dalam format yang dapat ditindakl Windows Search, menentukan apa yang harus dicari, tempat mencari, dan cara menyajikan hasilnya.
Pencarian tersimpan dihasilkan dari file XML (*.search-ms) di folder %userprofile%\Searches. Data dibagi menjadi tiga elemen utama dalam file XML:
- <viewInfo> menentukan informasi presentasi
- < > kueri menentukan (informasi kueri pencarian
- <properti> menentukan properti file *.search-ms itu sendiri
Contoh berikut menunjukkan struktur tingkat tinggi dari file pencarian tersimpan.
<?xml version="1.0"?>
<persistedQuery version="1.0">
<viewInfo ...>
...
</viewInfo>
<query>
...
</query>
<properties>
...
</properties>
</persistedQuery>
<viewInfo> Element
Elemen> viewInfo <menentukan bagaimana hasilnya disajikan kepada pengguna akhir. Contoh berikut menunjukkan struktur elemen.
...
<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>
...
<atribut> viewInfo
Tabel berikut menjelaskan atribut elemen> viewInfo <.
Atribut | Deskripsi | Nilai |
---|---|---|
viewMode | Menentukan tampilan folder. | Detail | Ikon | Ubin |
iconSize | Mengontrol ukuran default ikon dan gambar mini untuk item saat bukan tumpukan. | Bilangan bulat antara 16 dan 256 |
stackIconSize | Hanya untuk penggunaan internal. Jangan gunakan. | N/a |
displayName | Hanya untuk penggunaan internal. Jangan gunakan. | N/a |
autoListFlags | Hanya untuk penggunaan internal. Jangan gunakan. | N/a |
folderFlags | Hanya untuk penggunaan internal. Jangan gunakan. | N/a |
taskFlags | Hanya untuk penggunaan internal. Jangan gunakan. | N/a |
<melihat Elemen Anak> Info
Elemen turunan dari elemen <viewInfo> menentukan kolom mana yang muncul di hasil pencarian Windows Explorer dan bagaimana hasilnya dikelompokkan dan diurutkan. Setiap elemen anak berisi sekumpulan kolom yang diurutkan, diidentifikasi dengan nama kanonis properti sistem (misalnya, System.DisplayName). Jika tidak ditentukan dalam file pencarian tersimpan, hasil pencarian disajikan dengan sekumpulan kolom default yang sesuai untuk jenis file yang ditampilkan.
Elemen | Deskripsi | Nilai |
---|---|---|
visibleColumns | Menentukan daftar kolom yang diurutkan untuk muncul dalam tampilan hasil. Pengguna dapat mengubah daftar ini. | Properti sistem apa pun. |
frequentlyUsedColumns | Hanya untuk penggunaan internal. Jangan gunakan. | N/a |
columnChooserColumns | Hanya untuk penggunaan internal. Jangan gunakan. | N/a |
groupBy | Menentukan properti sistem tunggal untuk mengelompokkan hasilnya. Pengguna dapat mengubah nilai ini. | Properti sistem apa pun. |
sortList | Menentukan daftar kolom yang diurutkan untuk mengurutkan hasilnya. | Hingga empat properti sistem. Pengguna dapat mengubah daftar ini. |
stackList | Hanya untuk penggunaan internal. Jangan gunakan. | N/a |
<kueri> Elemen
Elemen> kueri <menentukan atribut yang menentukan bagaimana hasilnya dikueri. Contoh berikut menunjukkan struktur elemen.
...
<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>
...
kueri <> Elemen Turunan
Tabel berikut ini menjelaskan elemen turunan dari lingkup <> elemen.
Elemen | Deskripsi | Nilai |
---|---|---|
Penyedia | Hanya untuk penggunaan internal. Jangan gunakan. | N/a |
subKueri | Hanya untuk penggunaan internal. Jangan gunakan. | N/a |
Ruang lingkup | Mengidentifikasi lokasi yang akan disertakan atau dikecualikan dalam pencarian. | Jalur atau ID folder diketahui lokasi yang akan disertakan atau dikecualikan. Elemen ini juga dapat menentukan apakah pencarian harus menyertakan/mengecualikan jalur anak (pencarian dangkal atau mendalam). |
kindList | Mengidentifikasi jenis file yang akan dicari. | Nilai System.Kind apa pun. |
Kondisi | Menentukan aturan untuk memfilter hasil. Misalnya, hasilnya dapat dibatasi pada email yang dikirim oleh atau ke orang tertentu. | andCondition, orCondition, notCondition, leafCondition. |
> lingkup <Elemen
Elemen> cakupan <mengidentifikasi lokasi yang akan disertakan atau dikecualikan dari pencarian. Elemen> cakupan <harus berisi setidaknya satu <termasuk elemen turunan> ada dan nol atau lebih <mengecualikan elemen>. Lokasi dapat ditentukan sebagai jalur (variabel lingkungan didukung) atau sebagai pengidentifikasi folder diketahui. Selain itu, masing-masing lokasi ini dapat ditentukan untuk dicari secara mendalam atau dangkal dengan mengatur nonRecursive ke "true" atau "false" (defaultnya rekursif). Bagian dari daftar lokasi yang disertakan dapat dikecualikan dengan menentukan elemen pengecualian.
Berikut ini menunjukkan elemen> cakupan <yang akan mencari folder khusus dokumen, tetapi bukan anak-anaknya, volume "E:" dan anak-anaknya, tetapi bukan direktori "E:\windows" atau salah satu anaknya:
...
<query>
...
<scope>
<include knownFolder="{FDD39AD0-238F-46AF-ADB4-6C85480369C7}" nonRecursive="true"/>
<include path="E:\"/>
<exclude path="E:\Windows" nonRecursive="false"/>
</scope>
...
</query>
...
<kindList> Element
Elemen-elemen ini menentukan persatuan "jenis" item yang akan muncul di pustaka. Nilai yang valid adalah:
- kalender
- komunikasi
- kontak
- surat
- memberi makan
- map
- permainan
- instantmessage
- jurnal
- tautan
- film
- musik
- nota
- gambaran
- rencana
- recordedtv
- searchfolder
- tugas
- video
- webhistory
- benda
- lain
<kondisi> Element
Kondisi adalah filter yang hasil pencariannya dibandingkan. Misalnya, Anda dapat memfilter hasil yang memenuhi kriteria tertentu, seperti nama penulis atau ukuran file. Kumpulan kondisi dibangun ke dalam pohon kondisi tunggal dengan cabang AND, OR, dan NOT logis.
Contoh berikut menunjukkan struktur elemen> kondisi <.
...
<query>
...
<conditions>
<condition type="" ...>
<attributes>
<attribute attributeID="" .../>
</attributes>
</condition>
</conditions>
</query>
...
Jenis kondisi bisa menjadi salah satu dari yang berikut ini:
Jenis | Deskripsi | Atribut yang Tersedia |
---|---|---|
andCondition | Konjunsi dari dua kondisi anak atau lebih | N/a |
orCondition | Disjunksi dari dua kondisi anak lagi | N/a |
notCondition | Negasi kondisi anak | N/a |
leafCondition | Membandingkan properti dengan nilai | properti, propertyType, operator, nilai, valuetype |
Atribut elemen <leafCondition> mengidentifikasi properti dan nilai yang difilter hasilnya.
Contoh: <kondisi> Element
Contoh berikut memfilter hasil untuk semua item yang belum dibaca yang ditulis oleh John. Artinya, properti System.IsRead salah dan string "john" muncul di properti System.Author atau System.ItemAuthors.
...
<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>
...
properti <> Element
Properti <elemen> menjelaskan properti pencarian tersimpan itu sendiri. File pencarian tersimpan mendukung empat properti: penulis <>, <jenis>, deskripsi <>, dan tag <>. Ini hanya untuk penggunaan internal.
Spesifikasi Lengkap Format File search-ms
Berikut ini adalah contoh XML lengkap untuk file pencarian tersimpan.
<?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>
Contoh Pencarian Tersimpan
Berikut ini adalah contoh file *.search-ms.
Documents.search-ms Terbaru
<?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>
Music.search-ms Terbaru
<?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>
Baru-baru ini Dibagikan oleh Me.search-ms
<?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>