1 - refactor from google-diff-match and aho-corasick
1 - refactor from google-diff-match and aho-corasick
full text search