word | Word to add to the index. |
score | Relevance score of the word. |
documentIndex | Document where the indexed word was found. |
size | Number of variations to compute. |
minVariations | Minimum number of variations to compute. Cannot be higher than the length of the word. |
maxVariations | Maximum number of variations to compute. Cannot be higher than the length of the word. |
Adds a new word coming from a document to the index. The word is added with multiple variations allowing partial search.
using UnityEditor; using UnityEditor.Search; using UnityEngine; static class Example_SearchIndexer_AddWord { [MenuItem("Examples/SearchIndexer/AddWord")] public static void Run() { // Create a search indexer var searchIndexer = new SearchIndexer("SearchIndexerAddWordExample"); // Indicate that Search is about to index documents. searchIndexer.Start(); // Add a document var di = searchIndexer.AddDocument("My/File/Path"); // Index some words var baseScore = 42; // This will index all variation of the word awesome, i.e. aw, awe, awes, aweso, awesom and awesome searchIndexer.AddWord("awesome", baseScore, di); // This will index an exact match for "unity", so no variation. searchIndexer.AddWord("unity", "unity".Length, baseScore, di); // This will only index variations for the word from character indexes 3 to 6, e.g. thi, this, thisi and thisis searchIndexer.AddWord("thisisitasuperlongword", 3, 6, baseScore, di); // Indicate that searchIndexer is finished indexing a document and is ready to search. searchIndexer.Finish(() => { // Search the index foreach (var result in searchIndexer.Search("unity awes this")) Debug.Log($"Found document [{result.index}] {result.id} ({result.score})"); // Dispose of the SearchIndexer when you are done with it. searchIndexer.Dispose(); }); } }