Module: Spinel::Helper
- Included in:
- Base
- Defined in:
- lib/spinel/helper.rb
Instance Method Summary collapse
- #document_aliases(doc) ⇒ Object
- #document_body(doc) ⇒ Object
- #document_id(doc) ⇒ Object
- #document_score(doc) ⇒ Object
- #document_to_phrase(doc) ⇒ Object
- #document_validate(doc) ⇒ Object
- #prefixes_for_phrase(phrase) ⇒ Object
Instance Method Details
#document_aliases(doc) ⇒ Object
31 32 33 |
# File 'lib/spinel/helper.rb', line 31 def document_aliases doc doc[:aliases] || doc["aliases"] end |
#document_body(doc) ⇒ Object
27 28 29 |
# File 'lib/spinel/helper.rb', line 27 def document_body doc doc[Spinel.document_key.to_sym] || doc[Spinel.document_key] end |
#document_id(doc) ⇒ Object
19 20 21 |
# File 'lib/spinel/helper.rb', line 19 def document_id doc doc[:id] || doc["id"] end |
#document_score(doc) ⇒ Object
23 24 25 |
# File 'lib/spinel/helper.rb', line 23 def document_score doc doc[:score] || doc["score"] end |
#document_to_phrase(doc) ⇒ Object
11 12 13 |
# File 'lib/spinel/helper.rb', line 11 def document_to_phrase doc [document_body(doc), *Array(document_aliases(doc))].join(' ') end |
#document_validate(doc) ⇒ Object
15 16 17 |
# File 'lib/spinel/helper.rb', line 15 def document_validate doc raise ArgumentError, "documents must specify both an id and a body" unless document_id(doc) && document_body(doc) end |
#prefixes_for_phrase(phrase) ⇒ Object
4 5 6 7 8 9 |
# File 'lib/spinel/helper.rb', line 4 def prefixes_for_phrase(phrase) words = phrase.split(' ') words.map do |w| (Spinel.min_complete-1..(w.length-1)).map{ |l| w[0..l] } end.flatten.uniq end |