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

SearchIndexer

UnityEditor.Search 类

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们不能接受所有提交内容,但我们确实会阅读用户提出的每项更改建议,并在适用情况下进行更新。

关闭

提交失败

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

关闭

取消

描述

文档索引器的基类,提供方法根据特定模式大致以 log(n) 的速度检索文档。这使您能够更快速地搜索大型索引。

using UnityEditor;
using UnityEditor.Search;
using UnityEngine;

static class Example_SearchIndexer
{
    [MenuItem("Examples/SearchIndexer/Class")]
    public static void Run()
    {
        // Create a search indexer
        var searchIndexer = new SearchIndexer("SearchIndexerExample");

        // 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添加一个新的要索引的文档。
AddExactWord将一个来自文档的新词添加到索引中。该词将以多种变体添加,允许部分搜索。
AddNumber向索引中添加一个键值对。该键不会以变体添加。
AddProperty将一个属性值添加到索引中。属性使用键和字符串值指定。该值将以多种变体存储。
AddWord将一个来自文档的新词添加到索引中。该词将以多种变体添加,允许部分搜索。
Finish完成当前索引,排序和编译所有索引。
GetDocument根据其索引返回一个搜索文档。
GetMetaInfo获取特定文档的元数据。
IndexDocument在具体 SearchIndexer 中重写以索引文档内容的函数。
IsReady指示索引是否已完全构建、最新且可供搜索。
LoadBytes从二进制缓冲区异步(在另一个线程中)加载索引。
Merge将搜索索引内容合并到当前索引中。
Read读取流并从中填充索引。
SaveBytes获取此索引的字节表示形式。请参阅 SearchIndexer.Write。
Search在索引中运行一个搜索查询。
SetMetaInfo在特定文档上设置任意元数据。
SkipEntry在构建索引时调用,以查看是否需要索引指定文档。请参阅 SearchIndexer.skipEntryHandler。
Start开始索引条目。
Write将索引的二进制表示形式写入流。