logic: search ui performance optimization
* replaced the implementation of the search index. the search index now uses a search-trie. edges have gates that can be used to check if a character can be matched when following the edge. * SearchMatches now have a text and a list of NameHierarchies that share this node (instead of Ids, so that nodes must be found by names (which makes sure that SearchMatches are still valid after refresh). * when parsing a project's description the CodeController now looks for NameHierarchies instead of SearchNode names to find ids of linked elements.
This commit is contained in:
@@ -44,16 +44,13 @@ struct SearchMatch
|
||||
std::string getNodeTypeAsString() const;
|
||||
std::string getSearchTypeName() const;
|
||||
|
||||
NameHierarchy nameHierarchy;
|
||||
std::string text;
|
||||
std::string typeName;
|
||||
|
||||
Node::NodeType nodeType;
|
||||
SearchType searchType;
|
||||
|
||||
std::set<Id> tokenIds;
|
||||
|
||||
std::vector<size_t> indices;
|
||||
size_t weight;
|
||||
|
||||
std::vector<NameHierarchy> nameHierarchies;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user