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

SearchIndexer.AddNumber

建议更改

成功!

感谢你帮助我们改进 Unity 文档的品质。虽然我们无法接受所有提交的内容,但我们会仔细阅读用户建议的每一项更改,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,你的建议更改无法提交。请在几分钟后 重试,感谢你抽出时间帮助我们改进 Unity 文档的品质。

关闭

取消

声明

public void AddNumber(string key, double value, int score, int documentIndex);

参数

key 用于检索值的键值。
value 存储在索引中的数值。
score 字词的相关度得分。
documentIndex 发现索引值时所在的文档。

描述

向索引中添加键值对。该键不会添加有变量。

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

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

        // Add some documents and index a power value that can be searched.
        si.AddNumber("power", 4.4, score: 0, si.AddDocument("Weak"));
        si.AddNumber("power", 6.42, score: 0, si.AddDocument("Healthy"));
        si.AddNumber("power", 9.9, score: 0, si.AddDocument("Strong"));

        si.Finish(() => SearchPowerLevels(si));
    }

    private static void SearchPowerLevels(SearchIndexer si)
    {
        SearchPowerLevel(si, "power<5", 1);
        SearchPowerLevel(si, "power>=6", 2);
    }

    static void SearchPowerLevel(SearchIndexer si, string powerQuery, int expectedCount)
    {
        var results = si.Search(powerQuery).ToList();
        Debug.Assert(results.Count == expectedCount, "Invalid query");
        Debug.Log($"Document with {powerQuery}: {string.Join(", ", results.Select(r => r.id))}");
    }
}