Class: Jekyll::ClientSearch::RelatedAnalyzer
- Inherits:
-
Object
- Object
- Jekyll::ClientSearch::RelatedAnalyzer
- Defined in:
- lib/jekyll/client_search/related_analyzer.rb
Overview
Builds deterministic related-article records from metadata and vectors.
Instance Method Summary collapse
- #analyze(documents) ⇒ Object
-
#initialize(configuration) ⇒ RelatedAnalyzer
constructor
A new instance of RelatedAnalyzer.
Constructor Details
#initialize(configuration) ⇒ RelatedAnalyzer
Returns a new instance of RelatedAnalyzer.
7 8 9 |
# File 'lib/jekyll/client_search/related_analyzer.rb', line 7 def initialize(configuration) @configuration = configuration end |
Instance Method Details
#analyze(documents) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/jekyll/client_search/related_analyzer.rb', line 11 def analyze(documents) relations = documents.each_with_index.to_h do |source, index| candidates = documents.each_with_index.filter_map do |target, target_index| next if index == target_index build_relation(source, target) end [source.fetch("id"), sort_relations(candidates)] end { "version" => 1, "minimum_similarity" => @configuration.minimum_similarity, "relations" => relations } end |