From 4bd16f053847f2efe347ebda9136ef2233ee0d2c Mon Sep 17 00:00:00 2001 From: hukl Date: Tue, 28 Apr 2009 00:15:53 +0200 Subject: added thinking_sphinx plugin for fulltext search on nodes and heads --- .../thinking-sphinx/features/support/models/alpha.rb | 9 +++++++++ .../thinking-sphinx/features/support/models/animal.rb | 5 +++++ .../thinking-sphinx/features/support/models/beta.rb | 7 +++++++ .../thinking-sphinx/features/support/models/box.rb | 8 ++++++++ .../thinking-sphinx/features/support/models/cat.rb | 3 +++ .../thinking-sphinx/features/support/models/category.rb | 4 ++++ .../thinking-sphinx/features/support/models/comment.rb | 10 ++++++++++ .../features/support/models/delayed_beta.rb | 7 +++++++ .../thinking-sphinx/features/support/models/developer.rb | 12 ++++++++++++ .../features/support/models/extensible_beta.rb | 9 +++++++++ .../thinking-sphinx/features/support/models/gamma.rb | 5 +++++ .../thinking-sphinx/features/support/models/person.rb | 9 +++++++++ .../thinking-sphinx/features/support/models/post.rb | 16 ++++++++++++++++ .../thinking-sphinx/features/support/models/tag.rb | 3 +++ .../thinking-sphinx/features/support/models/tagging.rb | 4 ++++ .../thinking-sphinx/features/support/models/theta.rb | 7 +++++++ 16 files changed, 118 insertions(+) create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/alpha.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/animal.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/beta.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/box.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/cat.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/category.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/comment.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/delayed_beta.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/developer.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/extensible_beta.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/gamma.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/person.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/post.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/tag.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/tagging.rb create mode 100644 vendor/plugins/thinking-sphinx/features/support/models/theta.rb (limited to 'vendor/plugins/thinking-sphinx/features/support/models') diff --git a/vendor/plugins/thinking-sphinx/features/support/models/alpha.rb b/vendor/plugins/thinking-sphinx/features/support/models/alpha.rb new file mode 100644 index 0000000..0973c1c --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/alpha.rb @@ -0,0 +1,9 @@ +class Alpha < ActiveRecord::Base + define_index do + indexes :name, :sortable => true + + has value, cost, created_at, created_on + + set_property :field_weights => {"name" => 10} + end +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/animal.rb b/vendor/plugins/thinking-sphinx/features/support/models/animal.rb new file mode 100644 index 0000000..75f8cc5 --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/animal.rb @@ -0,0 +1,5 @@ +class Animal < ActiveRecord::Base + define_index do + indexes name, :sortable => true + end +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/beta.rb b/vendor/plugins/thinking-sphinx/features/support/models/beta.rb new file mode 100644 index 0000000..096a78c --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/beta.rb @@ -0,0 +1,7 @@ +class Beta < ActiveRecord::Base + define_index do + indexes :name, :sortable => true + + set_property :delta => true + end +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/box.rb b/vendor/plugins/thinking-sphinx/features/support/models/box.rb new file mode 100644 index 0000000..bd948c4 --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/box.rb @@ -0,0 +1,8 @@ +class Box < ActiveRecord::Base + define_index do + indexes width, :as => :width_field + + has width, length, depth + has [width, length, depth], :as => :dimensions + end +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/cat.rb b/vendor/plugins/thinking-sphinx/features/support/models/cat.rb new file mode 100644 index 0000000..f6cf75a --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/cat.rb @@ -0,0 +1,3 @@ +class Cat < Animal + # +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/category.rb b/vendor/plugins/thinking-sphinx/features/support/models/category.rb new file mode 100644 index 0000000..ea52b65 --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/category.rb @@ -0,0 +1,4 @@ +class Category < ActiveRecord::Base + has_many :posts + has_many :comments +end \ No newline at end of file diff --git a/vendor/plugins/thinking-sphinx/features/support/models/comment.rb b/vendor/plugins/thinking-sphinx/features/support/models/comment.rb new file mode 100644 index 0000000..a93451c --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/comment.rb @@ -0,0 +1,10 @@ +class Comment < ActiveRecord::Base + belongs_to :post + belongs_to :category + + define_index do + indexes :content + + has category.name, :facet => true, :as => :category_name, :type => :string + end +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/delayed_beta.rb b/vendor/plugins/thinking-sphinx/features/support/models/delayed_beta.rb new file mode 100644 index 0000000..ccd9846 --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/delayed_beta.rb @@ -0,0 +1,7 @@ +class DelayedBeta < ActiveRecord::Base + define_index do + indexes :name, :sortable => true + + set_property :delta => :delayed + end +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/developer.rb b/vendor/plugins/thinking-sphinx/features/support/models/developer.rb new file mode 100644 index 0000000..d461ebc --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/developer.rb @@ -0,0 +1,12 @@ +class Developer < ActiveRecord::Base + has_many :taggings, :as => :taggable + has_many :tags, :through => :taggings + + define_index do + indexes country, :facet => true + indexes state, :facet => true + has age, :facet => true + has tags(:id), :as => :tag_ids, :facet => true + facet city + end +end \ No newline at end of file diff --git a/vendor/plugins/thinking-sphinx/features/support/models/extensible_beta.rb b/vendor/plugins/thinking-sphinx/features/support/models/extensible_beta.rb new file mode 100644 index 0000000..40b64f5 --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/extensible_beta.rb @@ -0,0 +1,9 @@ +require File.join(File.dirname(__FILE__), "..", "lib", "generic_delta_handler") + +class ExtensibleBeta < ActiveRecord::Base + define_index do + indexes :name, :sortable => true + + set_property :delta => GenericDeltaHandler + end +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/gamma.rb b/vendor/plugins/thinking-sphinx/features/support/models/gamma.rb new file mode 100644 index 0000000..5e9d259 --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/gamma.rb @@ -0,0 +1,5 @@ +class Gamma < ActiveRecord::Base + define_index do + indexes :name, :sortable => true + end +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/person.rb b/vendor/plugins/thinking-sphinx/features/support/models/person.rb new file mode 100644 index 0000000..62a0a96 --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/person.rb @@ -0,0 +1,9 @@ +class Person < ActiveRecord::Base + define_index do + indexes first_name, last_name, :sortable => true + + has [first_name, middle_initial, last_name], :as => :name_sort + has birthday + has gender, :facet => true + end +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/post.rb b/vendor/plugins/thinking-sphinx/features/support/models/post.rb new file mode 100644 index 0000000..430d17c --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/post.rb @@ -0,0 +1,16 @@ +class Post < ActiveRecord::Base + has_many :comments, :dependent => :destroy + has_many :taggings, :as => :taggable + has_many :tags, :through => :taggings + belongs_to :category + + define_index do + indexes subject + indexes content + indexes tags.text, :as => :tags + indexes comments.content, :as => :comments + + has comments(:id), :as => :comment_ids, :source => :ranged_query + has category.name, :facet => true, :as => :category_name, :type => :string + end +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/tag.rb b/vendor/plugins/thinking-sphinx/features/support/models/tag.rb new file mode 100644 index 0000000..30992e8 --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/tag.rb @@ -0,0 +1,3 @@ +class Tag < ActiveRecord::Base + belongs_to :post +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/tagging.rb b/vendor/plugins/thinking-sphinx/features/support/models/tagging.rb new file mode 100644 index 0000000..33daf86 --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/tagging.rb @@ -0,0 +1,4 @@ +class Tagging < ActiveRecord::Base + belongs_to :tag + belongs_to :taggable, :polymorphic => true +end diff --git a/vendor/plugins/thinking-sphinx/features/support/models/theta.rb b/vendor/plugins/thinking-sphinx/features/support/models/theta.rb new file mode 100644 index 0000000..0ce91d6 --- /dev/null +++ b/vendor/plugins/thinking-sphinx/features/support/models/theta.rb @@ -0,0 +1,7 @@ +class Theta < ActiveRecord::Base + define_index do + indexes :name, :sortable => true + + set_property :delta => :datetime, :threshold => 1.hour + end +end -- cgit v1.3