Version: 2022.1
言語: 日本語
public void SetMetaInfo (string documentId, string metadata);

パラメーター

documentId Id of a document.
metadata Metadata to bind to that document.

説明

Set arbiraty metadata on a specific document.

using System.IO;
using UnityEditor;
using UnityEditor.Search;
using UnityEngine;

/// <summary>
/// Use GetMetaInfo to store some additional data about a specific document within the index db
/// that you can retrieve later if needed.
/// </summary>
static class Example_SearchIndexer_GetMetaInfo
{
    [MenuItem("Examples/SearchIndexer/GetMetaInfo")]
    public static void Run()
    {
        var si = new SearchIndexer();
        si.Start();
        var newDocumentId = System.Guid.NewGuid().ToString("N");
        var di = si.AddDocument(newDocumentId);
        si.SetMetaInfo(newDocumentId, "Please save this data for later");
        si.Finish((bytes) =>
        {
            File.WriteAllBytes("Temp/index.db", bytes);
            EditorApplication.delayCall += ReloadIndex;
        }, null);
    }

    private static void ReloadIndex()
    {
        var si = new SearchIndexer();
        si.LoadBytes(File.ReadAllBytes("Temp/index.db"), (success) =>
        {
            Debug.Assert(success);
            Debug.Assert(si.GetMetaInfo(si.GetDocument(0).id) == "Please save this data for later");
        });
    }
}