Propriétés (schéma de contenu d’application)
contient des propriétés qui décrivent l’élément à la Windows Index de recherche.
Hiérarchie d’éléments
<Propriétés>
Syntaxe
<Properties>
<!-- Child elements -->
( Name
& Keywords?
& Comment?
& AdditionalProperties?
)
</Properties>
Clé
?
facultatif (zéro ou un)
&
connecteur entrelacé (peut se produire dans n’importe quel ordre)
Attributs et éléments
Attributs
Aucun.
Éléments enfants
Élément enfant | Description |
---|---|
AdditionalProperties | Contient des propriétés supplémentaires qui décrivent l’élément. |
Commentaire | Contient un System. Comment qui décrit l’élément. |
Mots clés | Contient les System. Keywords qui décrivent l’élément. |
Nom | Spécifie System. ItemName \System. ItemNameDisplay de l’élément. |
Éléments parents
Cet élément (document) le plus à l’extérieur ne peut pas être contenu dans d’autres éléments.
Exemples
Cet exemple montre un simple fichier appcontent-MS qui décrit un élément nommé « Sample 1 ».
Notez que le fichier contient des éléments non définis par le schéma appcontent-ms : IndexerSampleInformation
et IndexerSampleSpecificElement
. Votre fichier appcontent-MS doit avoir un nœud racine qui encapsule toutes les données à indexer, mais vous pouvez nommer ce nœud comme vous le souhaitez.
<?xml version="1.0" encoding="utf-8"?>
<IndexerSampleInformation>
<Properties xmlns="http://schemas.microsoft.com/Search/2013/ApplicationContent">
<Name>Sample 1</Name>
<Keywords>
<Keyword xml:lang="en-US">Sample 1 - keyword 1</Keyword>
<Keyword>Sample 1 - keyword 2</Keyword>
</Keywords>
<Comment>Sample 1 comment</Comment>
<AdditionalProperties>
<Property Key="System.Title">Sample 1 Title</Property>
<Property xml:lang="en-US" Key="System.Contact.EmailAddresses">
<Value>bryan@contoso.com</Value>
<Value>vincent@contoso.com</Value>
</Property>
</AdditionalProperties>
</Properties>
<IndexerSampleSpecificElement sc:IndexableContent="true"
xmlns:sc="http://schemas.microsoft.com/Search/2013/ApplicationContent">
The text included here will be indexed, enabling full-text search.
</IndexerSampleSpecificElement>
</IndexerSampleInformation>
vous pouvez même indiquer à Windows recherche d’indexer le contenu des éléments arbitraires. Utilisez simplement l’attribut IndexableContent pour indiquer à Search d’indexer le contenu. dans l’exemple précédent, Windows Search indexera le contenu du IndexerSampleSpecificElement, car l’attribut IndexableContent est défini sur true:
<IndexerSampleSpecificElement sc:IndexableContent="true"
xmlns:sc="http://schemas.microsoft.com/Search/2013/ApplicationContent">
The text included here will be indexed, enabling full-text search.
</IndexerSampleSpecificElement>
La recherche traitera le contenu comme du texte par défaut ; Si le contenu est en base64, utilisez l’attribut ContentType pour spécifier le type MIME.
L’exemple suivant montre comment copier un fichier appcontent-ms dans le dossier LocalFolder\Indexed de votre application. Le code copie tous les fichiers qu’il trouve dans le dossier appcontent-ms de l’application dans le dossier LocalFolder\Indexed. (Vous pouvez également créer des fichiers appcontent-MS directement dans le dossier indexé plutôt que de les copier à partir d’un autre emplacement.)
/// <summary>
/// For the purposes of this sample, the appcontent-ms files are stored in an "appcontent-ms" folder in the
/// install directory. These are then copied into the app's "LocalState\Indexed" folder, which exposes them
/// to the indexer.
/// </summary>
public async static Task<string> AddAppContentFilesToIndexedFolder()
{
var localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
var installDirectory = Windows.ApplicationModel.Package.Current.InstalledLocation;
var outputString = "Items added to the \"Indexed\" folder:";
var appContentFolder = await installDirectory.GetFolderAsync("appcontent-ms");
var indexedFolder = await localFolder.CreateFolderAsync(
"Indexed", Windows.Storage.CreationCollisionOption.OpenIfExists);
var files = await appContentFolder.GetFilesAsync();
foreach (var file in files)
{
outputString += "\n" + file.DisplayName + file.FileType;
await file.CopyAsync(indexedFolder,
file.Name, Windows.Storage.NameCollisionOption.ReplaceExisting);
}
return outputString;
}
// For the purposes of this sample, the appcontent-ms files are stored in an "appcontent-ms" folder
// in the install directory. These are then copied into the app's "LocalState\Indexed" folder,
// which exposes them to the indexer.
function _addAppContentFilesToIndexedFolder() {
var localFolder = appData.localFolder,
appcontentFolder,
indexedFolder,
installDirectory = Windows.ApplicationModel.Package.current.installedLocation;
var output = "Items added to the \"Indexed\" folder:\n";
installDirectory.getFolderAsync("appcontent-ms").then(function (retrievedAppcontentFolder) {
appcontentFolder = retrievedAppcontentFolder;
return localFolder.createFolderAsync(
"Indexed", Windows.Storage.CreationCollisionOption.openIfExists);
}).then(function (retrievedIndexedFolder) {
indexedFolder = retrievedIndexedFolder;
return appcontentFolder.getFilesAsync(appcontentFolder);
}).then(function (files) {
var promiseArray = [];
for (var i = 0, len = files.length; i < len; i++) {
promiseArray[i] = files[i].copyAsync(indexedFolder,
files[i].name, Windows.Storage.NameCollisionOption.replaceExisting);
output += files[i].displayName + files[i].fileType;
if (i < len - 1) {
output += "\n";
}
}
return WinJS.Promise.join(promiseArray);
}).done(function () {
WinJS.log && WinJS.log(output, "sample", "status");
});
}
Pour obtenir le code complet, consultez l' exemple d’indexeur.
Voir aussi
Spécifications
Valeur | |
---|---|
Espace de noms | http://schemas.microsoft.com/Search/2013/ApplicationContent |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour