Unity 6.3
0 онлайн 1 гость 3 в системе
Вход

SearchIndexer.AddNumber

Declaration

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

Параметры

Параметр Описание
ключ Ключ, используемый для получения значения.
значение Число, которое будет храниться в индексе.
оценка Рейтинг релевантности слова.
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("SearchIndexerExample", FileUtil.GetUniqueTempPathInProject());
        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);
            // Dispose the SearchIndexer when you are done with it.
            si.Dispose();
        });
    }

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