SearchIndexer
класс в UnityEditor.Search
Описание
Базовый класс индексатора документов с методами для получения документа по заданному шаблону примерно за log(n). Это позволяет быстрее искать по большому индексу.
Этот класс содержит ресурсы, которые нужно освободить, когда они больше не нужны. См. Dispose.
using UnityEditor; using UnityEditor.Search; using UnityEngine; static class Example_SearchIndexer { [MenuItem("Examples/SearchIndexer/Class")] public static void Run() { // Create a search indexer saved in the project temp folder using var searchIndexer = new SearchIndexer("SearchIndexerExample", FileUtil.GetUniqueTempPathInProject()); // Indicate that searchIndexer is about to index documents searchIndexer.Start(); // Add some documents var unityDocumentIndex = searchIndexer.AddDocument("Unity Technologies"); // Index some words var baseScore = 42; searchIndexer.AddWord("unity", baseScore, unityDocumentIndex); searchIndexer.AddWord("is", baseScore, unityDocumentIndex); searchIndexer.AddWord("awesome", baseScore, unityDocumentIndex); // Indicate that searchIndexer is finished indexing documents and is ready to search. searchIndexer.Finish(); // Wait for the indexation to finish. while (!searchIndexer.IsReady()) ; // Search the index foreach (var result in searchIndexer.Search("uni")) Debug.Log($"Found document [{result.index}] {result.id} ({result.score})"); } }
Свойства
| Свойство | Описание |
|---|---|
| documentCount | Возвращает число документов в индексе. |
| keywordCount | Возвращает число ключевых слов в индексе. |
| minQueryLength | Минимальная длина запроса. По умолчанию это 1 символ. |
| minWordIndexationLength | Минимальный размер индексируемого слова. По умолчанию 2. |
| name | Имя индекса. Обычно это имя устанавливается пользователем из SearchDatabase.Settings. |
| resolveDocumentHandler | Обработчик, используемый для разрешения документа ID на какую-либо другую строку данных. |
| skipEntryHandler | Обработчик для пропуска записей. |
| timestamp | Указывает время последнего изменения индекса поиска. |
Конструкторы
| Конструктор | Описание |
|---|---|
| SearchIndexer | Создает новый SearchIndexer. |
Открытые методы
| Метод | Описание |
|---|---|
| AddDocument | Добавление нового документа для индексирования. |
| AddNumber | Добавление пары ключ-номер в индекс. Ключ не будет добавлен с вариациями. |
| AddProperty | Добавляет значение свойства в индекс. Свойство указывается с помощью ключа и строкового значения. Значение будет храниться с несколькими вариантами. |
| AddWord | Добавляет новое слово из документа в индекс. Слово добавляется с несколькими вариантами, что позволяет вести частичный поиск. |
| Dispose | Удалите SearchIndexer. |
| Finish | Завершение текущего индекса, сортировка и компиляция всех индексов. |
| GetDocument | Возвращает поиск документа по его индексу. |
| GetMetaInfo | Получить метаданные конкретного документа. |
| IndexDocument | Функция, которую следует переопределить в конкретном SearchIndexer, чтобы индексировать содержимое документа. |
| IsReady | Показывает, полностью ли создан индекс, обновлен ли он и готов ли для поиска. |
| Merge | Слияние содержимого индекса поиска с текущим индексом. |
| Search | Выполняет запрос поиска в индексе. |
| SetMetaInfo | Установить арбитражные метаданные для конкретного документа. |
| SkipEntry | Вызывается при построении индекса для проверки, нужно ли индексировать указанный документ. См. SearchIndexer.skipEntryHandler. |
| Start | Начало индексирования записей. |