logic: fixed missing matches in fulltext search

This commit is contained in:
mlangkabel
2018-04-24 19:18:26 +02:00
parent bac9f7fbc4
commit d29cabd0b3
4 changed files with 27 additions and 17 deletions
+2 -2
View File
@@ -9,7 +9,7 @@ struct suffix
int rank[2];
};
int SuffixArray::cmp(struct suffix a, struct suffix b)
int SuffixArray::cmp(const struct suffix& a, const struct suffix& b)
{
return (a.rank[0] == b.rank[0]) ? (a.rank[1] < b.rank[1] ? 1 : 0) : (a.rank[0] < b.rank[0] ? 1 : 0);
}
@@ -105,7 +105,7 @@ std::vector<int> SuffixArray::searchForTerm(const std::wstring& searchTerm) cons
{
matches.push_back(m_array[lower]);
}
for (int higher = m+1; higher < termLength && m_lcp[higher-1] >= termLength; higher++)
for (int higher = m+1; higher < m_text.length() && m_lcp[higher-1] >= termLength; higher++)
{
matches.push_back(m_array[higher]);
}