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; // Dispose of the SearchIndexer when you are done with it. si.Dispose(); }, 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"); // Dispose of the SearchIndexer when you are done with it. si.Dispose(); }); } }