class Curate::SearchConfigGenerator
Constants
- AGGREGATE_CONFIG
- COPYFIELD_CONFIG
- EDGE_FILTER_CONFIG
- FINAL_STATUS
- JETTY_SOLR_QUESTION
- NGRAM_QUESTION
- PARTIAL_SEARCH_QUESTION
Public Instance Methods
config_edge_filters()
click to toggle source
# File lib/generators/curate/search_config/search_config_generator.rb, line 121 def config_edge_filters myfile = Rails.root.join("solr_conf","conf","schema.xml") config_target = /.*A text field with defaults appropriate for English --\>\n/ say_status(".....", "Configuring SOLR with an EdgeNGramFilterFactory field type", :green) say_status(".....", "Making changes to "+myfile.to_s, :green) inject_into_file myfile, EDGE_FILTER_CONFIG, before: config_target end
config_partial_search()
click to toggle source
# File lib/generators/curate/search_config/search_config_generator.rb, line 129 def config_partial_search myschema = Rails.root.join("solr_conf","conf","schema.xml") myconfig = Rails.root.join("solr_conf","conf","solrconfig.xml") yamlfile = Rails.root.join("config","search_config.yml") schema_target = /.*\<\/fields\>.*\n/ schema_target = /.*\<\/fields\>.*\n/ catalog_qf_opts = 'desc_metadata__title_tesim,desc_metadata__name_tesim' people_qf_opts = 'desc_metadata__name_tesim' if yes_with_banner?(PARTIAL_SEARCH_QUESTION) say_status(".....", "Configuring SOLR to return partial matches for searches", :green) say_status(".....", "Configuring SOLR to aggregate fields for keyword searches", :green) say_status(".....", "About to make changes to "+myschema.to_s+" and "+myconfig.to_s, :green) inject_into_file myschema, AGGREGATE_CONFIG, before: schema_target inject_into_file myschema, COPYFIELD_CONFIG, after: schema_target inject_into_file myconfig, " all_text_tesim\n", after: /.*\<str name="qf"\>\n.*id\n/ inject_into_file myconfig, " all_text_tesim^10\n", after: /.*\<str name="pf"\>\n/ catalog_qf_opts = 'all_text_tesim' people_qf_opts = 'desc_metadata_name_ef' else say_status(".....", "SOLR will not return partial matches for searches", :green) end inject_into_file yamlfile, " qf: [#{catalog_qf_opts}]\n", after: /.\scatalog:\n/ inject_into_file yamlfile, " fl: desc_metadata__name_tesim id\n", after: /.\speople:\n/ inject_into_file yamlfile, " qf: [#{people_qf_opts}]\n", after: /.\speople:\n/ end
copy_solr_configs()
click to toggle source
# File lib/generators/curate/search_config/search_config_generator.rb, line 155 def copy_solr_configs my_solr_path = "solr_conf/conf" my_jetty_dev_path = Rails.root.join("jetty","solr","development-core","conf") my_jetty_test_path = Rails.root.join("jetty","solr","test-core","conf") if File.directory?(Rails.root+"jetty") if yes_with_banner?(JETTY_SOLR_QUESTION) say_status(".....", "Copying SOLR config files to Jetty", :green) copy_file my_solr_path+"/schema.xml", my_jetty_dev_path+"schema.xml", force: true copy_file my_solr_path+"/schema.xml", my_jetty_test_path+"schema.xml", force: true copy_file my_solr_path+"/solrconfig.xml", my_jetty_dev_path+"solrconfig.xml", force: true copy_file my_solr_path+"/solrconfig.xml", my_jetty_test_path+"solrconfig.xml", force: true end end end
final_status()
click to toggle source
# File lib/generators/curate/search_config/search_config_generator.rb, line 170 def final_status banner = "\n" + "*" * 80 + "\n" puts banner say_status("Finished",FINAL_STATUS, :green) puts banner end
prepare_yaml_file()
click to toggle source
# File lib/generators/curate/search_config/search_config_generator.rb, line 110 def prepare_yaml_file banner = "\n" + "*" * 80 + "\n" puts banner say_status("Preparing","Preparing search configuration files...", :green) puts banner yamlfile = Rails.root.join("config","search_config.yml") qt_option = " qt: search\n" inject_into_file yamlfile, qt_option, after: /.*.\scatalog:\n/, force: true inject_into_file yamlfile, qt_option, after: /.*.\speople:\n/, force: true end