word | 要添加到索引的单词。 |
score | 单词的相关性得分。 |
documentIndex | 找到已索引单词的文档。 |
size | 要计算的变化数量。 |
minVariations | 要计算的最小变化数量。不能高于单词的长度。 |
maxVariations | 要计算的最大变化数量。不能高于单词的长度。 |
将来自文档的新单词添加到索引中。单词会添加多种变化,允许部分搜索。
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})"); }); } }