Compartir a través de


Palabras clave

Contiene system.keywords que describen el elemento.

Jerarquía de elemento

<Propiedades>
<Palabras clave>

Sintaxis

<Keywords>

  <!-- Child elements -->
  Keyword+

</Keywords>

Clave

+ requerido (uno o varios)

Atributos y elementos

Atributos

Ninguno.

Elementos secundarios

Elemento secundario Descripción
Palabra clave

Una de las palabras clave System.Keywords que describe el elemento.

 

Elementos primarios

Elemento primario Descripción
Propiedades

Contiene propiedades que describen el elemento en el Windows search.

 

Ejemplos

En este ejemplo se muestra un archivo appcontent-ms simple que describe un elemento denominado "Sample 1".

Observe que el archivo contiene elementos no definidos por el esquema appcontent-ms: IndexerSampleInformation y IndexerSampleSpecificElement. El archivo appcontent-ms debe tener un nodo raíz que encapsula todos los datos que se indexen, pero puede dar nombre a ese nodo todo lo que quiera.

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

Incluso puede decir a Windows Search que indexe el contenido de elementos arbitrarios. Solo tiene que usar el atributo IndexableContent para que Search indexe el contenido. En el ejemplo anterior, Windows Search indexará el contenido de IndexerSampleSpecificElement porque el atributo IndexableContent está establecido en 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 búsqueda tratará el contenido como contenido de texto de forma predeterminada; si el contenido es base64, use el atributo ContentType para especificar el tipo MIME.

En el ejemplo siguiente se muestra cómo copiar un archivo appcontent-ms en la carpeta LocalFolder\Indexed de la aplicación. El código copia los archivos que encuentre en la carpeta appcontent-ms de la aplicación en la carpeta LocalFolder\Indexed. (También puede crear nuevos archivos appcontent-ms directamente en la carpeta Indexed en lugar de copiarlos desde otra ubicación).

/// <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&#39;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&#39;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 &amp;&amp; WinJS.log(output, "sample", "status");
    });
}

Para obtener el código completo, vea el ejemplo de indexador.

Consulte también

Windows. Storage. Búsqueda

Requisitos

Value
Espacio de nombres http://schemas.microsoft.com/Search/2013/ApplicationContent