Version: 2023.2
public void AddWord (string word, int score, int documentIndex);
public void AddWord (string word, int size, int score, int documentIndex);
public void AddWord (string word, int minVariations, int maxVariations, int score, int documentIndex);

参数

word Word to add to the index.
score Relevance score of the word.
documentIndex Document where the indexed word was found.
size Number of variations to compute.
minVariations Minimum number of variations to compute. Cannot be higher than the length of the word.
maxVariations Maximum number of variations to compute. Cannot be higher than the length of the word.

描述

Adds a new word coming from a document to the index. The word is added with multiple variations allowing partial search.

using UnityEditor;
using UnityEditor.Search;
using UnityEngine;

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

        // Indicate that Search is about to index documents.
        searchIndexer.Start();

        // Add a document
        var di = searchIndexer.AddDocument("My/File/Path");

        // Index some words
        var baseScore = 42;

        // This will index all variation of the word awesome, i.e. aw, awe, awes, aweso, awesom and awesome
        searchIndexer.AddWord("awesome", baseScore, di);

        // This will index an exact match for "unity", so no variation.
        searchIndexer.AddWord("unity", "unity".Length, baseScore, di);

        // This will only index variations for the word from character indexes 3 to 6, e.g. thi, this, thisi and thisis
        searchIndexer.AddWord("thisisitasuperlongword", 3, 6, baseScore, di);

        // Indicate that searchIndexer is finished indexing a document and is ready to search.
        searchIndexer.Finish(() =>
        {
            // Search the index
            foreach (var result in searchIndexer.Search("unity awes this"))
                Debug.Log($"Found document [{result.index}] {result.id} ({result.score})");
        });
    }
}
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961