Class: SearchSolrTools::Harvesters::NsidcAutoSuggest

Inherits:
AutoSuggest show all
Defined in:
lib/search_solr_tools/harvesters/nsidc_auto_suggest.rb

Constant Summary

Constants inherited from Base

Base::DELETE_DOCUMENTS_RATIO, Base::JSON_CONTENT_TYPE, Base::XML_CONTENT_TYPE

Constants included from SSTLogger

SSTLogger::LOG_LEVELS

Instance Attribute Summary

Attributes inherited from Base

#environment

Instance Method Summary collapse

Methods inherited from AutoSuggest

#initialize

Methods inherited from Base

#create_new_solr_add_doc, #create_new_solr_add_doc_with_child, #delete_old_documents, #doc_valid?, #encode_data_provider_url, #get_results, #get_serialized_doc, #initialize, #insert_solr_doc, #insert_solr_docs, #ping_solr, #ping_source, #remove_documents, #sanitize_data_centers_constraints, #solr_url, #valid_solr_spatial_coverage?

Methods included from SSTLogger

#logger, logger

Constructor Details

This class inherits a constructor from SearchSolrTools::Harvesters::AutoSuggest

Instance Method Details

#fieldsObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/search_solr_tools/harvesters/nsidc_auto_suggest.rb', line 18

def fields
  {
    'authoritative_id' => { weight: 1, source: 'NSIDC', creator: method(:standard_add_creator) },
    'full_title'       => { weight: 2, source: 'NSIDC', creator: method(:standard_add_creator) },
    'copy_parameters'  => { weight: 5, source: 'NSIDC', creator: method(:standard_add_creator) },
    'full_platforms'   => { weight: 2, source: 'NSIDC', creator: method(:short_full_split_add_creator) },
    'full_sensors'     => { weight: 2, source: 'NSIDC', creator: method(:short_full_split_add_creator) },
    'full_authors'     => { weight: 1, source: 'NSIDC', creator: method(:standard_add_creator) }
  }
end

#harvestObject



13
14
15
16
# File 'lib/search_solr_tools/harvesters/nsidc_auto_suggest.rb', line 13

def harvest
  url = "#{solr_url}/#{@env_settings[:collection_name]}/select?q=*%3A*&fq=source%3ANSIDC&rows=0&wt=json&indent=true&facet=true&facet.mincount=1&facet.sort=count&facet.limit=-1"
  super url, fields
end

#harvest_and_deleteObject



8
9
10
11
# File 'lib/search_solr_tools/harvesters/nsidc_auto_suggest.rb', line 8

def harvest_and_delete
  logger.info 'Building auto-suggest indexes for NSIDC'
  super(method(:harvest), 'source:"NSIDC"', @env_settings[:auto_suggest_collection_name])
end

#short_full_split_add_creator(value, count, field_weight, source) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/search_solr_tools/harvesters/nsidc_auto_suggest.rb', line 29

def short_full_split_add_creator(value, count, field_weight, source)
  add_docs = []
  value.split(' > ').each do |v|
    add_docs.concat(standard_add_creator(v, count, field_weight, source))
  end
  add_docs
end