Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


SearchIndexer

Base class for a document Indexer which provides methods for retrieving a document given a specific pattern in roughly log(n). This allows you to search a large index more quickly.
Read time 2 minutesLast updated 10 days ago

Definition

public class SearchIndexer : IDisposable

Remarks

This class contains resources that must be disposed when it is no longer needed. See Dispose.

Examples

using UnityEditor;using UnityEditor.Search;using UnityEngine;static class Example_SearchIndexer{ [MenuItem("Examples/SearchIndexer/Class")] public static void Run() { // Create a search indexer saved in the project temp folder using var searchIndexer = new SearchIndexer("SearchIndexerExample", FileUtil.GetUniqueTempPathInProject()); // Indicate that searchIndexer is about to index documents searchIndexer.Start(); // Add some documents var unityDocumentIndex = searchIndexer.AddDocument("Unity Technologies"); // Index some words var baseScore = 42; searchIndexer.AddWord("unity", baseScore, unityDocumentIndex); searchIndexer.AddWord("is", baseScore, unityDocumentIndex); searchIndexer.AddWord("awesome", baseScore, unityDocumentIndex); // Indicate that searchIndexer is finished indexing documents and is ready to search. searchIndexer.Finish(); // Wait for the indexation to finish. while (!searchIndexer.IsReady()) ; // Search the index foreach (var result in searchIndexer.Search("uni")) Debug.Log($"Found document [{result.index}] {result.id} ({result.score})"); }}

Constructors

Constructor

Description

SearchIndexer(System.String,System.String)Creates a new SearchIndexer.

Properties

Property

Description

documentCountReturns the number of documents in the index.
keywordCountReturns the number keywords in the index.
minQueryLengthMinimal length of a query. By default it is 1 character.
minWordIndexationLengthMinimal indexed word size. Default is 2.
nameName of the index. Generally this name is set by a user from Settings.
resolveDocumentHandlerHandler used to resolve a document ID to some other data string.
skipEntryHandlerHandler used to skip entries.
timestampIndicates when the search index was last modified.

Methods

Method

Description

AddDocumentAdds a new document to be indexed.
AddNumberAdds a key-number value pair to the index. The key won't be added with variations.
AddPropertyAdds a property value to the index. A property is specified with a key and a string value. The value will be stored with multiple variations.
AddWordAdds a new word coming from a document to the index. The word is added with multiple variations allowing partial search.
DisposeDispose of the SearchIndexer.
FinishFinalizes the current index, sorting and compiling of all the indexes.
GetDocumentReturns a search document by its index.
GetMetaInfoGet metadata of a specific document.
IndexDocumentFunction to override in a concrete SearchIndexer to index the content of a document.
IsReadyIndicates if the index is fully built, up to date, and ready for search.
MergeMerge a search index content into the current index.
SearchRuns a search query in the index.
SetMetaInfoSet arbiraty metadata on a specific document.
SkipEntryCalled when the index is built to see if a specified document needs to be indexed. See SearchIndexer.skipEntryHandler.
StartStarts indexing entries.