Class: Ferret::Search::DefaultSimilarity
- Inherits:
-
Similarity
- Object
- Similarity
- Ferret::Search::DefaultSimilarity
- Defined in:
- lib/ferret/search/similarity.rb
Overview
Expert: Default scoring implementation.
Constant Summary
Constants inherited from Similarity
Instance Method Summary collapse
-
#coord(overlap, max_overlap) ⇒ Object
See source.
-
#idf(doc_freq, num_docs) ⇒ Object
See source.
-
#length_norm(field, num_terms) ⇒ Object
See source.
-
#query_norm(sum_of_squared_weights) ⇒ Object
See source.
-
#sloppy_freq(distance) ⇒ Object
See source.
-
#tf(freq) ⇒ Object
See source.
Methods inherited from Similarity
byte_to_float, decode_norm, #decode_norm, default, default=, encode_norm, #encode_norm, float_to_byte, #idf_phrase, #idf_term
Instance Method Details
#coord(overlap, max_overlap) ⇒ Object
See source
261 262 263 |
# File 'lib/ferret/search/similarity.rb', line 261 def coord(overlap, max_overlap) return overlap.to_f / max_overlap end |
#idf(doc_freq, num_docs) ⇒ Object
See source
255 256 257 258 |
# File 'lib/ferret/search/similarity.rb', line 255 def idf(doc_freq, num_docs) return 0.0 if num_docs == 0 return Math.log(num_docs.to_f/(doc_freq+1)) + 1.0 end |
#length_norm(field, num_terms) ⇒ Object
See source
235 236 237 |
# File 'lib/ferret/search/similarity.rb', line 235 def length_norm(field, num_terms) return 1.0 / Math.sqrt(num_terms) end |
#query_norm(sum_of_squared_weights) ⇒ Object
See source
240 241 242 |
# File 'lib/ferret/search/similarity.rb', line 240 def query_norm(sum_of_squared_weights) return 1.0 / Math.sqrt(sum_of_squared_weights) end |
#sloppy_freq(distance) ⇒ Object
See source
250 251 252 |
# File 'lib/ferret/search/similarity.rb', line 250 def sloppy_freq(distance) return 1.0 / (distance + 1) end |
#tf(freq) ⇒ Object
See source
245 246 247 |
# File 'lib/ferret/search/similarity.rb', line 245 def tf(freq) return Math.sqrt(freq) end |