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

ObjectIndexer

UnityEditor.Search 中的类

/

继承自:Search.SearchIndexer

建议修改

成功!

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

关闭

提交失败

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

关闭

取消

描述

一个专门的 SearchIndexer,提供用于从自定义索引器索引 Unity 对象 的方法。

ObjectIndexer 只能在 CustomObjectIndexerAttribute 的上下文中使用,因此无法显式实例化。

[CustomObjectIndexer(typeof(Collider), version = 3)]
static void IndexObjectSize(CustomObjectIndexerTarget target, ObjectIndexer indexer)
{
    var collider = target.target as Collider;
    if (collider == null)
        return;

    var totalSize = CustomSelectors.ComputeColliderSize(collider);
    indexer.IndexNumber(target.documentIndex, "testsize", totalSize);
}

请注意,您可以使用所有 SearchIndexerAdd* 索引方法将单词、属性和数字添加到搜索索引数据库。您还可以使用以下更高级的函数(即 IndexWordIndexNumberIndexPropertyIndexWordComponentsIndexPropertyComponents)来索引常见的 Unity 对象 属性。

公共方法

IndexNumber将键值对添加到索引。键不会添加变体。
IndexProperty将属性值添加到索引。属性由键和字符串值指定。该值将存储多个变体。
IndexPropertyComponents索引属性值的多个变体。
IndexWord将来自特定文档的新单词添加到索引。该单词将添加多个变体,允许部分搜索。
IndexWordComponents将单词拆分为多个变体。

继承成员

属性

documentCount返回索引中的文档数量。
keywordCount返回索引中的关键字数量。
minQueryLength查询的最小长度。默认值为 1 个字符。
minWordIndexationLength最小索引单词大小。默认值为 2。
name索引的名称。通常,此名称由用户从 SearchDatabase.Settings 设置。
resolveDocumentHandler用于将文档 ID 解析为其他数据字符串的处理程序。
skipEntryHandler用于跳过条目的处理程序。
timestamp指示搜索索引最后修改的时间。

公共方法

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