Unity 6.3
0 онлайн 39 гостей 3 в системе
Вход

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Начало индексирования записей.