diff --git a/bin/test/data/log/test_log.txt b/bin/test/data/log/test_log.txt index 6d2c61d5..096ab62e 100644 --- a/bin/test/data/log/test_log.txt +++ b/bin/test/data/log/test_log.txt @@ -1,4 +1,27 @@ ConfigManager.cpp ERROR: value path/to/nowhere is not present in config. +Token.cpp ERROR: Location Id was not referenced by this Token. +Node.cpp WARNING: Cannot change NodeType after it was already set from namespace to class +Edge.cpp ERROR: Nodes are not plain copies. +Edge.cpp ERROR: Edge usage can't go from Node undefined to Node undefined +Edge.cpp ERROR: Edge usage can't go from Node undefined to Node undefined +Edge.cpp ERROR: Edge usage can't go from Node undefined to Node undefined +Storage.cpp INFO: file: input.cc < 0:0 0:0> +Storage.cpp INFO: class: A +Storage.cpp INFO: method: A::A +Storage.cpp INFO: global usage: A::A -> A::count +Storage.cpp INFO: method: A::getCount +Storage.cpp INFO: global usage: A::getCount -> A::count +Storage.cpp INFO: method: A::process +Storage.cpp INFO: field: A::count +Storage.cpp INFO: class: B +Storage.cpp INFO: inheritance: B : A +Storage.cpp INFO: method: B::process +Storage.cpp INFO: override: A::process -> B::process < 0:0 0:0> +Storage.cpp INFO: type usage: B::process -> int +Storage.cpp INFO: function: main +Storage.cpp INFO: type usage: main -> B +Storage.cpp INFO: call: main -> B::B +Storage.cpp INFO: call: main -> A::getCount Storage.cpp INFO: file: input.cc < 0:0 0:0> Storage.cpp INFO: class: A Storage.cpp INFO: method: A::A @@ -20,42 +43,19 @@ Storage.cpp INFO: call: _main_ -> B::B Storage.cpp INFO: call: _main_ -> A::getCount SearchMatch.cpp INFO: 1 matches for "_main_": -755 _main_ +931 _main_ ^^^^^^ SearchMatch.cpp INFO: 1 matches for "_main_": -755 _main_ +931 _main_ ^^^^^^ SearchMatch.cpp INFO: 1 matches for "A::A": -237 A::A +190 A::A ^^^^ -Storage.cpp INFO: file: input.cc < 0:0 0:0> -Storage.cpp INFO: class: A -Storage.cpp INFO: method: A::A -Storage.cpp INFO: global usage: A::A -> A::count -Storage.cpp INFO: method: A::getCount -Storage.cpp INFO: global usage: A::getCount -> A::count -Storage.cpp INFO: method: A::process -Storage.cpp INFO: field: A::count -Storage.cpp INFO: class: B -Storage.cpp INFO: inheritance: B : A -Storage.cpp INFO: method: B::process -Storage.cpp INFO: override: A::process -> B::process < 0:0 0:0> -Storage.cpp INFO: type usage: B::process -> int -Storage.cpp INFO: function: main -Storage.cpp INFO: type usage: main -> B -Storage.cpp INFO: call: main -> B::B -Storage.cpp INFO: call: main -> A::getCount -Token.cpp ERROR: Location Id was not referenced by this Token. -Node.cpp WARNING: Cannot change NodeType after it was already set from namespace to class -Edge.cpp ERROR: Nodes are not plain copies. -Edge.cpp ERROR: Edge usage can't go from Node undefined to Node undefined -Edge.cpp ERROR: Edge usage can't go from Node undefined to Node undefined -Edge.cpp ERROR: Edge usage can't go from Node undefined to Node undefined Settings.cpp WARNING: File for Settings not found. ConfigManager.cpp ERROR: value Bool is not present in config. ConfigManager.cpp ERROR: value Int is not present in config. @@ -71,7 +71,6 @@ ConfigManager.cpp ERROR: value Int is not present in config. ConfigManager.cpp ERROR: value Float is not present in config. ConfigManager.cpp ERROR: value String is not present in config. ConfigManager.cpp ERROR: value NewBool is not present in config. -Graph.cpp ERROR: Can't remove member edge, without removing the child node. Storage.cpp INFO: typedef: type -> int Storage.cpp INFO: class: Class Storage.cpp INFO: struct: Struct @@ -136,6 +135,7 @@ Storage.cpp INFO: file: file.h < 0:0 0:0> Storage.cpp INFO: file: file.cpp < 0:0 0:0> Storage.cpp INFO: include: f.h Storage.cpp INFO: include: file.h +Graph.cpp ERROR: Can't remove member edge, without removing the child node. TextAccess.cpp WARNING: Index 'firstLine' has to be lower or equal index 'lastLine', is 3 > 2 TextAccess.cpp WARNING: Tried to access index 10. Maximum index is 8 TextAccess.cpp WARNING: Tried to access index 10. Maximum index is 8 diff --git a/src/lib/data/search/SearchNode.cpp b/src/lib/data/search/SearchNode.cpp index 01c0340b..71fd7ca9 100644 --- a/src/lib/data/search/SearchNode.cpp +++ b/src/lib/data/search/SearchNode.cpp @@ -348,10 +348,10 @@ std::pair SearchNode::fuzzyMatch( char c = m_name[i]; if (tolower(query[pos]) == tolower(c)) { - weight += std::max(100 - size - i, 1); + weight += std::max(100 / sqrt(size + i + 1), 1); if (matchCount) { - weight += matchCount * 10; + weight += matchCount * matchCount * 10; } else if (i == 0 || lastChar == '_' || tolower(c) != c) { diff --git a/src/test/SearchIndexTestSuite.h b/src/test/SearchIndexTestSuite.h index a7da8400..92fadc21 100644 --- a/src/test/SearchIndexTestSuite.h +++ b/src/test/SearchIndexTestSuite.h @@ -223,12 +223,12 @@ public: { SearchIndex index; index.addNode(utility::splitToVector("oaabbcc", "::")); - index.addNode(utility::splitToVector("ocbaabc", "::")); + index.addNode(utility::splitToVector("ocbcabc", "::")); std::vector matches = index.runFuzzySearchAndGetMatches("abc"); TS_ASSERT_EQUALS(2, matches.size()); - TS_ASSERT_EQUALS("ocbaabc", matches[0].fullName); + TS_ASSERT_EQUALS("ocbcabc", matches[0].fullName); TS_ASSERT_EQUALS("oaabbcc", matches[1].fullName); }