Esquema de conteúdo do aplicativo
o conteúdo do aplicativo ou appcontent-ms, esquema para aplicativos Windows permite que os desenvolvedores aprimorem a pesquisa no aplicativo fornecendo informações extras sobre o conteúdo do aplicativo para o índice de pesquisa de Windows.
Como ele funciona
para solicitar que Windows indexe seus dados de aplicativo para pesquisas no aplicativo, crie uma pasta chamada "Indexed" no LocalFolder e armazene os arquivos que você deseja indexar lá. Windows indexa o conteúdo do arquivo e os metadados (propriedades) nessa pasta "indexada" e em todas as suas subpastas.
Para usar o esquema appcontent-MS para indexar informações sobre um arquivo ou item, crie um arquivo appcontent-MS e adicione-o à pasta LocalFolder\Indexed do seu aplicativo (você precisa fazer isso no tempo de execução, após o aplicativo ter sido instalado). quando seu aplicativo usa Windows. Armazenamento. Pesquisar APIs para executar consultas na pasta indexada, a pesquisa incluirá informações de seus arquivos appcontent-MS.
as informações em arquivos appcontent-ms só são usadas quando o aplicativo que as contém usa o Windows. Armazenamento. API de pesquisa para executar pesquisas; as informações não serão exibidas na interface do usuário do Windows ou em outros aplicativos, por exemplo.
Este exemplo mostra um arquivo appcontent-MS simples que descreve um item chamado "Sample 1".
Observe que o arquivo contém elementos não definidos pelo esquema appcontent-MS: IndexerSampleInformation
e IndexerSampleSpecificElement
. O arquivo appcontent-MS deve ter um nó raiz que encapsula todos os dados a serem indexados, mas você pode nomeá-lo como desejar.
<?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>
você pode até mesmo dizer Windows pesquisa para indexar o conteúdo de elementos arbitrários. Basta usar o atributo IndexableContent para informar à pesquisa para indexar o conteúdo. no exemplo anterior, Windows pesquisa indexará o conteúdo do IndexerSampleSpecificElement porque o atributo IndexableContent está definido como 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>
A pesquisa tratará o conteúdo como conteúdo de texto por padrão; Se o conteúdo for base64, use o atributo ContentType para especificar o tipo MIME.
O exemplo a seguir mostra como copiar um arquivo appcontent-MS para a pasta LocalFolder\Indexed do seu aplicativo. O código copia todos os arquivos encontrados na pasta appcontent-MS do aplicativo para a pasta LocalFolder\Indexed. (Você também pode criar novos arquivos appcontent-MS diretamente na pasta indexada em vez de copiá-los de outro local.)
/// <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");
});
}
Para obter o código completo, consulte o exemplo do indexador.
Referência de elemento
A tabela a seguir lista todos os elementos neste esquema, classificados alfabeticamente por nome.
Elemento | Descrição |
---|---|
AdditionalProperties | Contém propriedades adicionais que descrevem o item. |
Comentário | Contém um System. Comment que descreve o item. |
Palavra-chave | Uma das palavras-chave System. keyque descreve o item. |
Palavras-chave | Contém as palavras-chave System. keyque descrevem o item. |
Nome | Especifica o System . ItemName \System. ItemNameDisplay do item. |
Propriedades | contém propriedades que descrevem o item para o índice de pesquisa de Windows. |
Propriedade | Uma propriedade que descreve o item. |
Valor | O valor que será indexado para a propriedade. |
Atributos para elementos específicos do aplicativo
Use esses atributos para indexar conteúdo em seus próprios elementos XML específicos do aplicativo.
Atributo | Descrição |
---|---|
Definir essa propriedade em um elemento indica que o conteúdo do elemento é tratado como uma codificação base64 do tipo MIME/tipo de conteúdo especificado e é indexado usando o manipulador para esse tipo de conteúdo. |
|
Indica que o texto do elemento deve ser indexado para pesquisa, mas não está associado a uma propriedade. Observe que as propriedades podem ser recuperadas posteriormente com base na chave de propriedade, mas o conteúdo de texto não pode. |
Tópicos relacionados
Windows. Armazenamento. Procurando