Class: FtsLite::Tokenizer::Trigram
- Inherits:
-
Object
- Object
- FtsLite::Tokenizer::Trigram
- Defined in:
- lib/fts_lite/tokenizer.rb
Instance Method Summary collapse
Instance Method Details
#query(text, options = {}) ⇒ Object
64 65 66 67 68 69 70 71 72 73 |
# File 'lib/fts_lite/tokenizer.rb', line 64 def query(text, = {}) fuzzy = .key?(:fuzzy) ? [:fuzzy] : false near = fuzzy ? NEAR2 : NEAR0 text = Tokenizer.normalize(text) text.split(QUERY_DELIMITER).map {|segment| segment.split(SIMPLE_DELIMITER).map {|word| 0.upto(word.size - 3).map {|i| word[i, 3] } }.join(near) }.flatten.join(" ") end |
#split(text) ⇒ Object
77 78 79 80 81 82 |
# File 'lib/fts_lite/tokenizer.rb', line 77 def split(text) text = Tokenizer.normalize(text) text.split(SIMPLE_DELIMITER).map {|word| 0.upto(word.size - 3).map {|i| word[i, 3] } }.flatten end |
#vector(text) ⇒ Object
74 75 76 |
# File 'lib/fts_lite/tokenizer.rb', line 74 def vector(text) split(text).join(" ") end |