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

SearchIndexer.Search

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public IEnumerable<SearchResult> Search(Search.SearchContext context, Search.SearchProvider provider, int maxScore, int patternMatchLimit);

声明

public IEnumerable<SearchResult> Search(string query, Search.SearchContext context, Search.SearchProvider provider, int maxScore, int patternMatchLimit);

声明

public IEnumerable<SearchResult> Search(string query, int maxScore, int patternMatchLimit);

参数

query 要查找的搜索查询。如果它匹配任何已编入索引的变体,则返回结果。
context 应用查询的搜索上下文。
provider 启动搜索的搜索提供程序。
maxScore 任何匹配的搜索结果的最大匹配分数。请参阅 SearchResult.score
patternMatchLimit 可以返回的最大匹配搜索结果数。请参阅 SearchResult

返回值

IEnumerable<SearchResult> 返回与查询匹配的搜索结果集合。

描述

在索引中运行搜索查询。

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

static class Example_SearchIndexer_Search
{
    [MenuItem("Examples/SearchIndexer/Search")]
    public static void Run()
    {
        var si = new SearchIndexer();
        si.Start();

        // Index some documents and properties
        si.AddProperty("color", "red", si.AddDocument("RGB 55"));
        si.AddProperty("color", "reddish", si.AddDocument("RGB 45"));
        si.AddProperty("color", "yellow", si.AddDocument("RGB 66"));

        si.Finish(() =>
        {
            // Search document with property color=red*
            var results = si.Search("color:red").ToList();
            Debug.Assert(results.Count == 2);
            if (results.Count > 0)
                Debug.Log(string.Join(", ", results.Select(r => $"{r.id} [{r.score}]")));
        });
    }
}