mirror of
https://github.com/CodeforLeipzig/stadtratmonitor.git
synced 2025-04-20 07:11:33 +02:00
#12 - fixed rspec tests and add some more tests
This commit is contained in:
parent
52f93fcb42
commit
c041ae596f
3 changed files with 94 additions and 26 deletions
|
@ -26,22 +26,34 @@ class SearchController < ApplicationController
|
|||
@papers = @response.page(params[:page]).results
|
||||
@sub = Hash.new
|
||||
@papers.each do |paper|
|
||||
@sub_search_definition = Elasticsearch::DSL::Search.search do
|
||||
query do
|
||||
query_string do
|
||||
query "*" + (paper.reference.start_with?("VI-") ? paper.reference.split("-")[2] : paper.reference.split("-")[1]) + "*"
|
||||
fields ["reference"]
|
||||
unless paper.reference.nil? && paper.reference.contains("-")
|
||||
segments = paper.reference.split("-")
|
||||
id = (paper.reference.start_with?("VI-") && segments.count > 2 ?
|
||||
segments[2] : segments[1])
|
||||
escaped_chars = Regexp.escape('\\+-*:()[]{}&!?^|\/')
|
||||
sanitized_id = id.gsub(/([#{escaped_chars}])/, '\\\\\1')
|
||||
['AND', 'OR', 'NOT'].each do |reserved|
|
||||
escaped_reserved = reserved.split('').map { |c| "\\#{c}" }.join('')
|
||||
sanitized_id = sanitized_id.gsub('/\s*\b(#{reserved.upcase})\b\s*/',
|
||||
" #{escaped_reserved} ")
|
||||
end
|
||||
@sub_search_definition = Elasticsearch::DSL::Search.search do
|
||||
query do
|
||||
query_string do
|
||||
query "*" + sanitized_id + "*"
|
||||
fields ["reference"]
|
||||
end
|
||||
end
|
||||
|
||||
sort do
|
||||
by :published_at, order: 'asc'
|
||||
by :reference, order: 'asc'
|
||||
end
|
||||
end
|
||||
|
||||
sort do
|
||||
by :published_at, order: 'asc'
|
||||
by :reference, order: 'asc'
|
||||
end
|
||||
@sub_papers = Paper.search(@sub_search_definition)
|
||||
@sub[paper.reference] = @sub_papers
|
||||
end
|
||||
@sub_papers = Paper.search(@sub_search_definition)
|
||||
@sub[paper.reference] = @sub_papers
|
||||
end
|
||||
end
|
||||
@paper_type_facets = extract_facets('paper_types')
|
||||
@originator_facets = extract_facets('originators')
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue