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

SearchIndexer.AddDocument

Declaration

public int AddDocument(string document, bool checkIfExists);
public int AddDocument(string document, string name, string source, bool checkIfExists, Search.SearchDocumentFlags flags);

Параметры

Параметр Описание
документ Единый документ ID.
имя Имя пути документа.
источник Источник документа. Например, если документ является вложенным объектом, то источником должен быть путь к ассету контейнера.
checkIfExists Передаёт истину, если у этого документа есть шанс уже существовать.
флаги Флаги, описывающие характер документа.

Возвращаемое значение

инт Индекс документа, используемый для добавления новых записей в индекс.

Описание

Добавление нового документа для индексирования.

using System.Linq;
using UnityEditor;
using UnityEditor.Search;
using UnityEngine;

static class Example_SearchIndexer_AddDocument
{
    [MenuItem("Examples/SearchIndexer/AddDocument")]
    public static void Run()
    {
        var si = new SearchIndexer("SearchIndexerExample", FileUtil.GetUniqueTempPathInProject());
        si.Start();

        // The most efficient way of adding a document is by not checking if the
        // document ID was already added if you are sure that all your document IDs are unique.
        var di = si.AddDocument("document1", checkIfExists: false);

        // You can set `checkIfExists=true` to check for existing document IDs, and the system
        // will return an index of any existing document IDs.
        Debug.Assert(di == si.AddDocument("document1", checkIfExists: true));

        // Once you have added a new document, you need to use the returned handle to index words, numbers and properties.
        si.AddWord("unity", 0, di);
        si.AddProperty("is", "awesome", di);
        si.AddNumber("version", 3.0, score: 0, di);

        si.Finish(() =>
        {
            Debug.Assert(si.Search("unity version>=3").Count() == 1, "No result were found");
            // Dispose of the SearchIndexer when you are done with it.
            si.Dispose();
        });
    }
}