diff --git a/lib/check_search.rb b/lib/check_search.rb index 4465f7996..50ced2a05 100644 --- a/lib/check_search.rb +++ b/lib/check_search.rb @@ -469,8 +469,7 @@ def keyword_conditions return [] if @options["keyword"].blank? || @options["keyword"].class.name != 'String' set_keyword_fields keyword_c = [] - field_conditions = build_keyword_conditions_media_fields - keyword_c.concat field_conditions + keyword_c.concat build_keyword_conditions_media_fields # Search in requests [['request_username', 'username'], ['request_identifier', 'identifier'], ['request_content', 'content']].each do |pair| keyword_c << { @@ -497,7 +496,7 @@ def set_keyword_fields def build_keyword_conditions_media_fields es_fields = [] conditions = [] - %w(title description url claim_description_content fact_check_title fact_check_summary claim_description_context fact_check_url source_name).each do |f| + %w(title description url claim_description_content fact_check_title fact_check_summary claim_description_context fact_check_url source_name explainer_title).each do |f| es_fields << f if should_include_keyword_field?(f) end es_fields << 'analysis_title' if should_include_keyword_field?('title') diff --git a/test/controllers/elastic_search_9_test.rb b/test/controllers/elastic_search_9_test.rb index 20de636b3..e35d5aa71 100644 --- a/test/controllers/elastic_search_9_test.rb +++ b/test/controllers/elastic_search_9_test.rb @@ -12,7 +12,7 @@ def setup u = create_user create_team_user team: t, user: u, role: 'admin' with_current_user_and_team(u ,t) do - pm = create_project_media team: t, disable_es_callbacks: false + pm = create_project_media team: t, quote: 'explainer_search', disable_es_callbacks: false pm2 = create_project_media team: t, disable_es_callbacks: false pm3 = create_project_media team: t, disable_es_callbacks: false pm4 = create_project_media team: t, disable_es_callbacks: false @@ -24,7 +24,7 @@ def setup pm2.explainers << ex2_a pm2.explainers << ex2_b pm3.explainers << ex3 - ex4 = create_explainer team: t + ex4 = create_explainer team: t, title: 'explainer_search' cd4 = create_claim_description project_media: pm4, disable_es_callbacks: false pm4.explainers << ex4 sleep 1 @@ -61,6 +61,11 @@ def setup assert_equal [pm2.id, pm5.id], results.medias.map(&:id).sort results = CheckSearch.new({ has_article: ['NO_VALUE'] }.to_json) assert_equal [pm.id, pm3.id, pm4.id], results.medias.map(&:id).sort + # Verify search by explainer_title field + result = CheckSearch.new({keyword: 'explainer_search'}.to_json, nil, t.id) + assert_equal [pm.id, pm5.id], result.medias.map(&:id).sort + result = CheckSearch.new({keyword: 'explainer_search', keyword_fields: {fields: ['explainer_title']}}.to_json, nil, t.id) + assert_equal [pm5.id], result.medias.map(&:id) end end