summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Legler <alex@a3li.li>2013-10-06 15:04:40 +0200
committerAlex Legler <alex@a3li.li>2013-10-06 15:04:40 +0200
commitca2737995d7c685246c0bf1e6bc3fc7d365f974f (patch)
treeed6b63b8e736c59bd4cf648161d9e3e851f2dbc7
parentsearch_controller: Rails 4 fixes (diff)
downloadglsamaker-ca2737995d7c685246c0bf1e6bc3fc7d365f974f.tar.gz
glsamaker-ca2737995d7c685246c0bf1e6bc3fc7d365f974f.tar.bz2
glsamaker-ca2737995d7c685246c0bf1e6bc3fc7d365f974f.zip
Upgrade to thinking-sphinx 3
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.lock13
-rw-r--r--app/controllers/search_controller.rb7
-rw-r--r--app/indices/indices.rb34
-rw-r--r--app/models/bug.rb6
-rw-r--r--app/models/cve.rb10
-rw-r--r--app/models/cve_comment.rb5
-rw-r--r--app/models/glsa.rb4
-rw-r--r--app/models/revision.rb12
-rw-r--r--config/thinking_sphinx.yml (renamed from config/sphinx.yml)0
10 files changed, 50 insertions, 43 deletions
diff --git a/Gemfile b/Gemfile
index 25d4a49..24a2ce3 100644
--- a/Gemfile
+++ b/Gemfile
@@ -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