Come indicizzare i dati locali delle applicazioni
[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]
Puoi indicizzare i dati archiviati a livello locale per un'app tramite il servizio Windows Search.
Se l'app gestisce file come documenti, posta elettronica o contenuti multimediali (foto, musica, video e così via), esiste un requisito centrale per indicizzare il contenuto o le proprietà dei file strutturalmente, affinché gli utenti possano gestire e recuperare i dati in modo rapido ed efficiente. Non occorre creare l'indicizzatore all'interno dell'app. Esiste un'opzione comoda e sicura per gli sviluppatori di app che consiste nell'abilitare il servizio Windows Search per l'indicizzazione dei dati dell'app.
I vantaggi principali dell'uso del servizio Windows Search per indicizzare i dati dell'app sono i seguenti:
- Windows Search supporta l'indicizzazione dell'intero contenuto dei tipi di documento più comunemente usati. Windows Search supporta inoltre l'indicizzazione delle proprietà dei file.
- Con il contratto Ricerca e le API per i file incorporati, i dati indicizzati possono essere recuperati e riutilizzati facilmente.
- Windows Search rispetta le impostazioni di sicurezza del file system, quindi i dati dell'app indicizzati rimangono archiviati in modo sicuro nell'indicizzatore di Windows.
Windows Search funziona con tutte le app di Windows Store, incluse quelle scritte in JavaScript, C#, C++ e VB.Net.
Abilitazione di Windows Search per la tua app
Richiedere a Windows Search di indicizzare i dati dell'app è un'operazione semplicissima. Devi creare una cartella denominata indexed nella cartella dei dati dell'app e archiviare al suo interno i contenuti che devono essere indicizzati. Windows Search tratta la cartella indexed come qualsiasi altra posizione di indicizzazione nell'unità disco rigido e indicizzerà il contenuto e i metadati (proprietà) dei file in questa cartella e in tutte le relative sottocartelle. Segue un elenco di considerazioni importanti:
- La cartella indexed deve seguire queste linee guida:
- La cartella indexed deve essere creata sotto la radice localFolder. Windows Search indicizza il contenuto della cartella in profondità. Verrà indicizzato qualsiasi file archiviato localmente in questa cartella o nelle relative sottocartelle, includendo tutti i livelli di sottocartelle. È consentita una sola cartella indexed per ogni app.
- Per il nome di cartella indexed non viene fatta distinzione tra maiuscole e minuscole.
- Anche se la cartella dei dati delle app è chiamata localFolder nell'API di Windows Runtime, il nome di questa cartella sarà LocalState nell'unità disco rigido fisica. Se vuoi accedere a questa cartella per fini di test, usa questo percorso di cartella: %user%\ AppData\Local\Packages\%packageName%\LocalState
- La struttura di cartelle sotto la cartella indexed può essere profonda, ma l'API di Windows non permette percorsi di file o cartelle di lunghezza superiore a MAX_PATH, ovvero superiori a 260 caratteri. Devi quindi assicurarti che i file o le cartelle nella cartella indexed non superino questo limite. Per altre informazioni su MAX_PATH, vedi il documento relativo al limite massimo di lunghezza del percorso.
- Windows Search indicizza solo i dati archiviati in locale. In altre parole, vengono indicizzati solo i file archiviati localmente nella cartella indexed o nelle relative sottocartelle.
- La cartella indexed non può essere creata durante l'installazione, ma soltanto durante l'esecuzione dell'app. Dato che il completamento dell'indicizzazione con Windows Search può richiedere tempo, a seconda delle dimensioni del contenuto, consigliamo di creare la cartella indexed alla prima esecuzione dell'app. Dopo aver creato la cartella indexed, Windows Search indicizzerà automaticamente il contenuto dell'app. Se vengono modificati file o sottocartelle (aggiunti, eliminati o aggiornati), Windows Search pianificherà inoltre automaticamente un ulteriore processo di indicizzazione e manterrà l'indicizzatore aggiornato con le modifiche. Tieni presente che Windows Search mantiene monitorato l'uso della CPU per ottimizzare il processo di ottimizzazione in base alla sua pianificazione.
Sicurezza
Il servizio Windows Search rispetta le impostazioni di sicurezza del file system di Windows, quindi i dati dell'app indicizzati sono archiviati nell'indicizzatore in modo sicuro. In particolare:
- Quando nello stesso PC sono presenti più account, le app per Windows Store vengono installate in base all'account utente. Se più utenti usano la stessa app nello stesso PC, ogni istanza dell'app crea una propria cartella indexed in un percorso fisico diverso. Un utente non può pertanto accedere ai dati indicizzati per altri account, a meno che tale utente non disponga dell'accesso al percorso fisico.
- Quando vengono indicizzati i dati per più app, il file system di Windows non consente a un'app di accedere direttamente ai dati di un'altra app. Quindi un'app non ha accesso ai dati indicizzati di un'altra app.
Recupero di contenuto indicizzato
Dopo l'indicizzazione dei dati dell'app, l'app può recuperarli tramite l'API dei file.
Argomenti correlati
Come indicizzare il contenuto con Windows Search mediante IFilters
Aggiunta di funzionalità di ricerca alle app di Windows Store