版本: Unity 6 (6000.0)
语言英语
  • C#

SearchIndexer.AddDocument

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议的更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public int AddDocument(string document, bool checkIfExists);

声明

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

参数

document 唯一的文档 ID。
name 文档的名称或路径。
source 文档的来源。例如,如果文档是嵌套对象,则来源应为容器资源路径。
checkIfExists 如果此文档有可能已经存在,则传递 true。
flags 描述文档性质的标志。

返回值

int 用于添加新索引条目的文档索引/句柄。

描述

添加一个新的待索引文档。

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();
        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"));
    }
}