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