diff options
author | Alex Legler <alex@a3li.li> | 2013-10-06 15:04:40 +0200 |
---|---|---|
committer | Alex Legler <alex@a3li.li> | 2013-10-06 15:04:40 +0200 |
commit | ca2737995d7c685246c0bf1e6bc3fc7d365f974f (patch) | |
tree | ed6b63b8e736c59bd4cf648161d9e3e851f2dbc7 | |
parent | search_controller: Rails 4 fixes (diff) | |
download | glsamaker-ca2737995d7c685246c0bf1e6bc3fc7d365f974f.tar.gz glsamaker-ca2737995d7c685246c0bf1e6bc3fc7d365f974f.tar.bz2 glsamaker-ca2737995d7c685246c0bf1e6bc3fc7d365f974f.zip |
Upgrade to thinking-sphinx 3
-rw-r--r-- | Gemfile | 2 | ||||
-rw-r--r-- | Gemfile.lock | 13 | ||||
-rw-r--r-- | app/controllers/search_controller.rb | 7 | ||||
-rw-r--r-- | app/indices/indices.rb | 34 | ||||
-rw-r--r-- | app/models/bug.rb | 6 | ||||
-rw-r--r-- | app/models/cve.rb | 10 | ||||
-rw-r--r-- | app/models/cve_comment.rb | 5 | ||||
-rw-r--r-- | app/models/glsa.rb | 4 | ||||
-rw-r--r-- | app/models/revision.rb | 12 | ||||
-rw-r--r-- | config/thinking_sphinx.yml (renamed from config/sphinx.yml) | 0 |
10 files changed, 50 insertions, 43 deletions
@@ -42,7 +42,7 @@ gem "nokogiri" gem "text-format", :require => "text/format" gem "kramdown" -gem "thinking-sphinx", "2.0.7" +gem "thinking-sphinx", '~> 3.0.2' gem "runspell" # gem "rdoc" diff --git a/Gemfile.lock b/Gemfile.lock index d085560..4b25d72 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -50,6 +50,7 @@ GEM http-cookie (1.0.2) domain_name (~> 0.5) i18n (0.6.5) + innertube (1.1.0) json (1.8.0) kramdown (1.2.0) mail (2.5.4) @@ -64,6 +65,7 @@ GEM nokogiri (~> 1.4) ntlm-http (~> 0.1, >= 0.1.1) webrobots (>= 0.0.9, < 0.2) + middleware (0.1.0) mime-types (1.25) mini_portile (0.5.1) minitest (4.7.5) @@ -137,9 +139,12 @@ GEM daemons (>= 1.0.9) eventmachine (>= 1.0.0) rack (>= 1.5.0) - thinking-sphinx (2.0.7) - activerecord (>= 3.0.3) - riddle (>= 1.3.3) + thinking-sphinx (3.0.5) + activerecord (>= 3.1.0) + builder (>= 2.1.2) + innertube (>= 1.0.2) + middleware (>= 0.1.0) + riddle (>= 1.5.8) thor (0.18.1) thread_safe (0.1.3) atomic @@ -174,4 +179,4 @@ DEPENDENCIES simplecov text-format thin - thinking-sphinx (= 2.0.7) + thinking-sphinx (~> 3.0.2) diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb index 56c9afb..55c6594 100644 --- a/app/controllers/search_controller.rb +++ b/app/controllers/search_controller.rb @@ -3,8 +3,9 @@ class SearchController < ApplicationController end def results - search = ThinkingSphinx.search params[:q], :max_matches => 1000, :per_page => 1000 - + search = ThinkingSphinx.search(params[:q], :max_matches => 1000, :per_page => 1000) + search.context[:panes] << ThinkingSphinx::Panes::ExcerptsPane + @results = {} search.each do |result| klass = result.class.to_s @@ -30,5 +31,7 @@ class SearchController < ApplicationController end rescue Riddle::ConnectionError => e @error = true + rescue Riddle::ResponseError => e + @error = true end end diff --git a/app/indices/indices.rb b/app/indices/indices.rb new file mode 100644 index 0000000..cc3596a --- /dev/null +++ b/app/indices/indices.rb @@ -0,0 +1,34 @@ +ThinkingSphinx::Index.define :bug, :with => :active_record do + indexes whiteboard + + has revision_id +end + +ThinkingSphinx::Index.define :cve_comment, :with => :active_record do + indexes comment + has user_id, cve_id +end + +ThinkingSphinx::Index.define :cve, :with => :active_record do + indexes cve_id, :sortable => true + indexes state, :sortable => true + indexes summary + + has published_at, last_changed_at +end + +ThinkingSphinx::Index.define :glsa, :with => :active_record do + indexes glsa_id, :sortable => true +end + +ThinkingSphinx::Index.define :revision, :with => :active_record do + indexes title + indexes synopsis + indexes description + indexes impact + indexes workaround + indexes resolution + indexes is_release + + has glsa_id, revid, release_revision +end
\ No newline at end of file diff --git a/app/models/bug.rb b/app/models/bug.rb index 9772d2a..00e2d6d 100644 --- a/app/models/bug.rb +++ b/app/models/bug.rb @@ -13,12 +13,6 @@ class Bug < ActiveRecord::Base belongs_to :revision - define_index do - indexes title - - has revision_id - end - def cc self.arches end diff --git a/app/models/cve.rb b/app/models/cve.rb index c82301d..d285d22 100644 --- a/app/models/cve.rb +++ b/app/models/cve.rb @@ -16,15 +16,7 @@ class Cve < ActiveRecord::Base has_and_belongs_to_many :cpes, :class_name => "Cpe" has_many :cve_changes, :class_name => "CveChange", :foreign_key => "cve_id" has_many :assignments, :class_name => "CveAssignment", :foreign_key => "cve_id" - - define_index do - indexes cve_id, :sortable => true - indexes state, :sortable => true - indexes summary - - has published_at, last_changed_at - end - + def to_s(line_length = 78) str = "#{self.cve_id} #{"(%s):" % url}\n" str += " " + Glsamaker::help.word_wrap(self.summary, :line_width => line_length-2).gsub(/\n/, "\n ") diff --git a/app/models/cve_comment.rb b/app/models/cve_comment.rb index 9ce0e31..4c6b8c1 100644 --- a/app/models/cve_comment.rb +++ b/app/models/cve_comment.rb @@ -1,9 +1,4 @@ class CveComment < ActiveRecord::Base belongs_to :cve belongs_to :user, :class_name => "User", :foreign_key => "user_id" - - define_index do - indexes comment - has user_id, cve_id - end end
\ No newline at end of file diff --git a/app/models/glsa.rb b/app/models/glsa.rb index f6dfd36..fd03145 100644 --- a/app/models/glsa.rb +++ b/app/models/glsa.rb @@ -20,10 +20,6 @@ class Glsa < ActiveRecord::Base has_many :revisions, :dependent => :destroy has_many :comments, :dependent => :destroy - - define_index do - indexes glsa_id, :sortable => true - end # Returns the last revision object, referring to the current state of things def last_revision diff --git a/app/models/revision.rb b/app/models/revision.rb index 2bf1370..26cfd82 100644 --- a/app/models/revision.rb +++ b/app/models/revision.rb @@ -34,18 +34,6 @@ class Revision < ActiveRecord::Base end end =end - - define_index do - indexes title - indexes synopsis - indexes description - indexes impact - indexes workaround - indexes resolution - indexes is_release - - has glsa_id, revid, release_revision - end # Returns an Array of Integers of the bugs linked to this revision def get_linked_bugs diff --git a/config/sphinx.yml b/config/thinking_sphinx.yml index d866a5a..d866a5a 100644 --- a/config/sphinx.yml +++ b/config/thinking_sphinx.yml |