AddProperty
Adds 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.
Read time 12 minutesLast updated 12 days ago
Definition
- Type: Method
- Namespace: UnityEditor.Search
- Assembly: UnityEditor
AddProperty(string, string, int)
Adds 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.
public void AddProperty(string key, string value, int documentIndex)
Parameters
Examples
using System.Linq;using UnityEditor;using UnityEditor.Search;using UnityEngine;static class Example_SearchIndexer_AddProperty{ [MenuItem("Examples/SearchIndexer/AddProperty")] public static void Run() { var si = new SearchIndexer("TestIndexer", FileUtil.GetUniqueTempPathInProject()); si.Start(); // Add properties. // These items are given a high score, so they will not be displayed first in the result list. si.AddProperty("is", "broken", score: 20, si.AddDocument("Bocument 1")); si.AddProperty("is", "broken", score: 30, si.AddDocument("Bocument 4")); 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.AddProperty("is", "secret", score: -99, si.AddDocument("Top Secret")); si.Finish(() => { SearchDocuments(si, "Broken documents (Invalid query)", "is=broke", 0); SearchDocuments(si, "Broken documents", "is=broken", 2); SearchDocuments(si, "Color documents", "color=red", 1); SearchDocuments(si, "Color documents", "color:red", 2); SearchDocuments(si, "Color documents", "color:yel", 1); SearchDocuments(si, "Top documents", "is:secr", 1); SearchDocuments(si, "Top documents", "is:secret", 1); SearchDocuments(si, "Top documents", "is=secret", 1); // Dispose of the SearchIndexer when you are done with it. si.Dispose(); }); } private static void SearchDocuments(SearchIndexer si, string label, string query, int expectedCount) { var results = si.Search(query).ToList(); Debug.Assert(results.Count == expectedCount, $"Invalid {label} with {query}, expected {expectedCount} results but got {results.Count}"); if (results.Count > 0) Debug.Log($"{label} ({query}): {string.Join(", ", results.Select(r => $"{r.id} [{r.score}]"))}"); }}
AddProperty(string, string, int, int)
Adds 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.
public void AddProperty(string key, string value, int score, int documentIndex)
Parameters
Examples
using System.Linq;using UnityEditor;using UnityEditor.Search;using UnityEngine;static class Example_SearchIndexer_AddProperty{ [MenuItem("Examples/SearchIndexer/AddProperty")] public static void Run() { var si = new SearchIndexer("TestIndexer", FileUtil.GetUniqueTempPathInProject()); si.Start(); // Add properties. // These items are given a high score, so they will not be displayed first in the result list. si.AddProperty("is", "broken", score: 20, si.AddDocument("Bocument 1")); si.AddProperty("is", "broken", score: 30, si.AddDocument("Bocument 4")); 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.AddProperty("is", "secret", score: -99, si.AddDocument("Top Secret")); si.Finish(() => { SearchDocuments(si, "Broken documents (Invalid query)", "is=broke", 0); SearchDocuments(si, "Broken documents", "is=broken", 2); SearchDocuments(si, "Color documents", "color=red", 1); SearchDocuments(si, "Color documents", "color:red", 2); SearchDocuments(si, "Color documents", "color:yel", 1); SearchDocuments(si, "Top documents", "is:secr", 1); SearchDocuments(si, "Top documents", "is:secret", 1); SearchDocuments(si, "Top documents", "is=secret", 1); // Dispose of the SearchIndexer when you are done with it. si.Dispose(); }); } private static void SearchDocuments(SearchIndexer si, string label, string query, int expectedCount) { var results = si.Search(query).ToList(); Debug.Assert(results.Count == expectedCount, $"Invalid {label} with {query}, expected {expectedCount} results but got {results.Count}"); if (results.Count > 0) Debug.Log($"{label} ({query}): {string.Join(", ", results.Select(r => $"{r.id} [{r.score}]"))}"); }}
AddProperty(string, string, int, bool)
Adds 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.
public void AddProperty(string key, string value, int documentIndex, bool saveKeyword)
Parameters
Examples
using System.Linq;using UnityEditor;using UnityEditor.Search;using UnityEngine;static class Example_SearchIndexer_AddProperty{ [MenuItem("Examples/SearchIndexer/AddProperty")] public static void Run() { var si = new SearchIndexer("TestIndexer", FileUtil.GetUniqueTempPathInProject()); si.Start(); // Add properties. // These items are given a high score, so they will not be displayed first in the result list. si.AddProperty("is", "broken", score: 20, si.AddDocument("Bocument 1")); si.AddProperty("is", "broken", score: 30, si.AddDocument("Bocument 4")); 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.AddProperty("is", "secret", score: -99, si.AddDocument("Top Secret")); si.Finish(() => { SearchDocuments(si, "Broken documents (Invalid query)", "is=broke", 0); SearchDocuments(si, "Broken documents", "is=broken", 2); SearchDocuments(si, "Color documents", "color=red", 1); SearchDocuments(si, "Color documents", "color:red", 2); SearchDocuments(si, "Color documents", "color:yel", 1); SearchDocuments(si, "Top documents", "is:secr", 1); SearchDocuments(si, "Top documents", "is:secret", 1); SearchDocuments(si, "Top documents", "is=secret", 1); // Dispose of the SearchIndexer when you are done with it. si.Dispose(); }); } private static void SearchDocuments(SearchIndexer si, string label, string query, int expectedCount) { var results = si.Search(query).ToList(); Debug.Assert(results.Count == expectedCount, $"Invalid {label} with {query}, expected {expectedCount} results but got {results.Count}"); if (results.Count > 0) Debug.Log($"{label} ({query}): {string.Join(", ", results.Select(r => $"{r.id} [{r.score}]"))}"); }}
AddProperty(string, string, int, int, bool)
Adds 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.
public void AddProperty(string key, string value, int score, int documentIndex, bool saveKeyword)
Parameters
Examples
using System.Linq;using UnityEditor;using UnityEditor.Search;using UnityEngine;static class Example_SearchIndexer_AddProperty{ [MenuItem("Examples/SearchIndexer/AddProperty")] public static void Run() { var si = new SearchIndexer("TestIndexer", FileUtil.GetUniqueTempPathInProject()); si.Start(); // Add properties. // These items are given a high score, so they will not be displayed first in the result list. si.AddProperty("is", "broken", score: 20, si.AddDocument("Bocument 1")); si.AddProperty("is", "broken", score: 30, si.AddDocument("Bocument 4")); 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.AddProperty("is", "secret", score: -99, si.AddDocument("Top Secret")); si.Finish(() => { SearchDocuments(si, "Broken documents (Invalid query)", "is=broke", 0); SearchDocuments(si, "Broken documents", "is=broken", 2); SearchDocuments(si, "Color documents", "color=red", 1); SearchDocuments(si, "Color documents", "color:red", 2); SearchDocuments(si, "Color documents", "color:yel", 1); SearchDocuments(si, "Top documents", "is:secr", 1); SearchDocuments(si, "Top documents", "is:secret", 1); SearchDocuments(si, "Top documents", "is=secret", 1); // Dispose of the SearchIndexer when you are done with it. si.Dispose(); }); } private static void SearchDocuments(SearchIndexer si, string label, string query, int expectedCount) { var results = si.Search(query).ToList(); Debug.Assert(results.Count == expectedCount, $"Invalid {label} with {query}, expected {expectedCount} results but got {results.Count}"); if (results.Count > 0) Debug.Log($"{label} ({query}): {string.Join(", ", results.Select(r => $"{r.id} [{r.score}]"))}"); }}
AddProperty(string, string, int, bool, bool)
Adds 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.
public void AddProperty(string key, string value, int documentIndex, bool saveKeyword = false, bool exact = true)
Parameters
Key used to retrieve the value.
String value to store in the index.
Document where the indexed value was found.
Indicates if we store this key in the keyword registry of the index. See GetKeywords.
If true, index stores an exact match entry for this word.
Examples
using System.Linq;using UnityEditor;using UnityEditor.Search;using UnityEngine;static class Example_SearchIndexer_AddProperty{ [MenuItem("Examples/SearchIndexer/AddProperty")] public static void Run() { var si = new SearchIndexer("TestIndexer", FileUtil.GetUniqueTempPathInProject()); si.Start(); // Add properties. // These items are given a high score, so they will not be displayed first in the result list. si.AddProperty("is", "broken", score: 20, si.AddDocument("Bocument 1")); si.AddProperty("is", "broken", score: 30, si.AddDocument("Bocument 4")); 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.AddProperty("is", "secret", score: -99, si.AddDocument("Top Secret")); si.Finish(() => { SearchDocuments(si, "Broken documents (Invalid query)", "is=broke", 0); SearchDocuments(si, "Broken documents", "is=broken", 2); SearchDocuments(si, "Color documents", "color=red", 1); SearchDocuments(si, "Color documents", "color:red", 2); SearchDocuments(si, "Color documents", "color:yel", 1); SearchDocuments(si, "Top documents", "is:secr", 1); SearchDocuments(si, "Top documents", "is:secret", 1); SearchDocuments(si, "Top documents", "is=secret", 1); // Dispose of the SearchIndexer when you are done with it. si.Dispose(); }); } private static void SearchDocuments(SearchIndexer si, string label, string query, int expectedCount) { var results = si.Search(query).ToList(); Debug.Assert(results.Count == expectedCount, $"Invalid {label} with {query}, expected {expectedCount} results but got {results.Count}"); if (results.Count > 0) Debug.Log($"{label} ({query}): {string.Join(", ", results.Select(r => $"{r.id} [{r.score}]"))}"); }}
AddProperty(string, string, int, int, bool, bool)
Adds 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.
public void AddProperty(string key, string value, int score, int documentIndex, bool saveKeyword = false, bool exact = true)
Parameters
Key used to retrieve the value.
String value to store in the index.
Relevance score of the word.
Document where the indexed value was found.
Indicates if we store this key in the keyword registry of the index. See GetKeywords.
If true, index stores an exact match entry for this word.
Examples
using System.Linq;using UnityEditor;using UnityEditor.Search;using UnityEngine;static class Example_SearchIndexer_AddProperty{ [MenuItem("Examples/SearchIndexer/AddProperty")] public static void Run() { var si = new SearchIndexer("TestIndexer", FileUtil.GetUniqueTempPathInProject()); si.Start(); // Add properties. // These items are given a high score, so they will not be displayed first in the result list. si.AddProperty("is", "broken", score: 20, si.AddDocument("Bocument 1")); si.AddProperty("is", "broken", score: 30, si.AddDocument("Bocument 4")); 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.AddProperty("is", "secret", score: -99, si.AddDocument("Top Secret")); si.Finish(() => { SearchDocuments(si, "Broken documents (Invalid query)", "is=broke", 0); SearchDocuments(si, "Broken documents", "is=broken", 2); SearchDocuments(si, "Color documents", "color=red", 1); SearchDocuments(si, "Color documents", "color:red", 2); SearchDocuments(si, "Color documents", "color:yel", 1); SearchDocuments(si, "Top documents", "is:secr", 1); SearchDocuments(si, "Top documents", "is:secret", 1); SearchDocuments(si, "Top documents", "is=secret", 1); // Dispose of the SearchIndexer when you are done with it. si.Dispose(); }); } private static void SearchDocuments(SearchIndexer si, string label, string query, int expectedCount) { var results = si.Search(query).ToList(); Debug.Assert(results.Count == expectedCount, $"Invalid {label} with {query}, expected {expectedCount} results but got {results.Count}"); if (results.Count > 0) Debug.Log($"{label} ({query}): {string.Join(", ", results.Select(r => $"{r.id} [{r.score}]"))}"); }}
AddProperty(string, string, int, int, int, int, bool, bool)
Adds 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.
public void AddProperty(string name, string value, int minVariations, int maxVariations, int score, int documentIndex, bool saveKeyword = false, bool exact = true)
Parameters
Key used to retrieve the value.
String value to store in the index.
Minimum number of variations to compute for the value. Cannot be higher than the length of the word.
Maximum number of variations to compute for the value. Cannot be higher than the length of the word.
Relevance score of the word.
Document where the indexed value was found.
Indicates if we store this key in the keyword registry of the index. See GetKeywords.
If true, index stores an exact match entry for this word.
Examples
using System.Linq;using UnityEditor;using UnityEditor.Search;using UnityEngine;static class Example_SearchIndexer_AddProperty{ [MenuItem("Examples/SearchIndexer/AddProperty")] public static void Run() { var si = new SearchIndexer("TestIndexer", FileUtil.GetUniqueTempPathInProject()); si.Start(); // Add properties. // These items are given a high score, so they will not be displayed first in the result list. si.AddProperty("is", "broken", score: 20, si.AddDocument("Bocument 1")); si.AddProperty("is", "broken", score: 30, si.AddDocument("Bocument 4")); 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.AddProperty("is", "secret", score: -99, si.AddDocument("Top Secret")); si.Finish(() => { SearchDocuments(si, "Broken documents (Invalid query)", "is=broke", 0); SearchDocuments(si, "Broken documents", "is=broken", 2); SearchDocuments(si, "Color documents", "color=red", 1); SearchDocuments(si, "Color documents", "color:red", 2); SearchDocuments(si, "Color documents", "color:yel", 1); SearchDocuments(si, "Top documents", "is:secr", 1); SearchDocuments(si, "Top documents", "is:secret", 1); SearchDocuments(si, "Top documents", "is=secret", 1); // Dispose of the SearchIndexer when you are done with it. si.Dispose(); }); } private static void SearchDocuments(SearchIndexer si, string label, string query, int expectedCount) { var results = si.Search(query).ToList(); Debug.Assert(results.Count == expectedCount, $"Invalid {label} with {query}, expected {expectedCount} results but got {results.Count}"); if (results.Count > 0) Debug.Log($"{label} ({query}): {string.Join(", ", results.Select(r => $"{r.id} [{r.score}]"))}"); }}