@@ -29,19 +29,18 @@ JiebaTokenizerContext::JiebaTokenizerContext(const std::string& _tokenize_mode,
2929 jieba(_jieba) {}
3030
3131JiebaTokenizer::JiebaTokenizer (const JiebaTokenizerContext& context, const Lucene::ReaderPtr& input)
32- : Lucene::Tokenizer(), context_(context) {
33- this ->input = input;
32+ : Lucene::Tokenizer(input), context_(context) {
3433 term_att_ = addAttribute<Lucene::TermAttribute>();
3534 pos_att_ = addAttribute<Lucene::PositionIncrementAttribute>();
3635 buffer_ = static_cast <wchar_t *>(
37- context_.pool ->Malloc (context_.buffer_size * sizeof (wchar_t ), /* aligment =*/ 8 ));
36+ context_.pool ->Malloc (context_.buffer_size * sizeof (wchar_t ), /* alignment =*/ 8 ));
3837}
3938
4039JiebaTokenizer::~JiebaTokenizer () {
4140 if (buffer_) {
4241 context_.pool ->Free (reinterpret_cast <void *>(buffer_),
4342 context_.buffer_size * sizeof (wchar_t ),
44- /* aligment =*/ 8 );
43+ /* alignment =*/ 8 );
4544 buffer_ = nullptr ;
4645 }
4746}
@@ -98,7 +97,7 @@ void JiebaTokenizer::Normalize(const std::unordered_set<std::string>& stop_words
9897
9998 // to lower case
10099 bool is_alphanumeric = true ;
101- for (const unsigned char & c : term) {
100+ for (const auto & c : term) {
102101 if (!std::isalnum (c)) {
103102 is_alphanumeric = false ;
104103 break ;
@@ -113,6 +112,15 @@ void JiebaTokenizer::Normalize(const std::unordered_set<std::string>& stop_words
113112
114113void JiebaTokenizer::reset () {
115114 Lucene::Tokenizer::reset ();
115+ InnerReset ();
116+ }
117+
118+ void JiebaTokenizer::reset (const Lucene::ReaderPtr& input) {
119+ Lucene::Tokenizer::reset (input);
120+ InnerReset ();
121+ }
122+
123+ void JiebaTokenizer::InnerReset () {
116124 terms_.clear ();
117125 normalized_terms_.clear ();
118126 term_index_ = 0 ;
0 commit comments