Search sold edition,rake sunspot:solr:run. NewsBulletin.solr_search,NewsBulletin.solr_reindex. Not working
This commit is contained in:
1 parent
8dd1ab32c1
commit
cb17fe0825
46 files changed
+2597
-263
No files matched your search
@@ -5,6 +5,9 @@ class Bulletin
|
||||
include Mongoid::Timestamps
|
||||
include Mongoid::MultiParameterAttributes
|
||||
include Impressionist::Impressionable
|
||||
include NccuSearch
|
||||
|
||||
scope :searchable,where(:is_checked=>true,:is_hidden=>false,:is_pending=>false)
|
||||
|
||||
is_impressionable :counter_cache => { :column_name => :view_count }
|
||||
|
||||
@@ -54,7 +57,11 @@ class Bulletin
|
||||
|
||||
after_save :save_bulletin_links
|
||||
after_save :save_bulletin_files
|
||||
|
||||
|
||||
|
||||
def publish_month
|
||||
published_at.strftime("%B %Y")
|
||||
end
|
||||
|
||||
def self.search( search = nil, category_id = nil )
|
||||
if category_id.to_s.size > 0 and search.to_s.size > 0
|
||||
|
||||
Vendored
+19
-10
@@ -9,20 +9,29 @@ class Panel::News::FrontEnd::NewsBulletinsController < OrbitWidgetController
|
||||
# GET /news_bulletins.xml
|
||||
|
||||
def index
|
||||
date_now = Time.now
|
||||
if !params[:category_id].blank?
|
||||
@news_bulletins = NewsBulletin.can_display.where(:news_bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10)
|
||||
elsif !params[:tag_id].blank?
|
||||
tmp = NewsTag.find(params[:tag_id]) rescue nil
|
||||
tmp = NewsTag.where(key: params[:tag_id])[0] unless tmp
|
||||
@news_bulletins = tmp.news_bulletins.can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10) rescue nil
|
||||
else
|
||||
@news_bulletins = NewsBulletin.can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10)
|
||||
end
|
||||
if !params[:search_query].blank?
|
||||
@news_bulletins = NewsBulletin.solr_search do
|
||||
fulltext params[:search_query] do
|
||||
fields(:text,:title=>2.0)
|
||||
end
|
||||
end.each_hit_with_result
|
||||
|
||||
else
|
||||
date_now = Time.now
|
||||
if !params[:category_id].blank?
|
||||
@news_bulletins = NewsBulletin.can_display.where(:news_bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10)
|
||||
elsif !params[:tag_id].blank?
|
||||
tmp = NewsTag.find(params[:tag_id]) rescue nil
|
||||
tmp = NewsTag.where(key: params[:tag_id])[0] unless tmp
|
||||
@news_bulletins = tmp.news_bulletins.can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10) rescue nil
|
||||
else
|
||||
@news_bulletins = NewsBulletin.can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page_main]).per(10)
|
||||
end
|
||||
end
|
||||
get_categorys
|
||||
|
||||
@current_category = NewsBulletinCategory.from_id(params[:category_id]) rescue nil
|
||||
|
||||
end
|
||||
|
||||
def show
|
||||
|
||||
Vendored
+3
@@ -46,6 +46,9 @@ class Panel::News::Widget::NewsBulletinsController < OrbitWidgetController
|
||||
get_categorys
|
||||
end
|
||||
|
||||
# def news_bulletins_search_block
|
||||
# end
|
||||
|
||||
def home_banner
|
||||
if !params[:category_id].blank?
|
||||
@news_bulletins = NewsBulletin.can_display.where(:news_bulletin_category_id => params[:category_id]).widget_datas.limit(9)
|
||||
|
||||
+65
-1
@@ -5,6 +5,16 @@ class NewsBulletin
|
||||
include Mongoid::Timestamps
|
||||
include Mongoid::MultiParameterAttributes
|
||||
include Impressionist::Impressionable
|
||||
# include OrbitBasis::BaseModel
|
||||
# include OrbitSearchLib::ObjectSearchable
|
||||
# include NccuSearch
|
||||
# include Redis::Objects
|
||||
include Mongoid::BaseModel
|
||||
|
||||
include Sunspot::Mongoid
|
||||
|
||||
|
||||
# scope :searchable,where(:is_checked=>true,:is_hidden=>false,:is_pending=>false)
|
||||
|
||||
is_impressionable :counter_cache => { :column_name => :view_count }
|
||||
|
||||
@@ -54,7 +64,61 @@ class NewsBulletin
|
||||
|
||||
after_save :save_news_bulletin_links
|
||||
after_save :save_news_bulletin_files
|
||||
|
||||
# include OrbitBasis::ClassMethods
|
||||
|
||||
|
||||
searchable do
|
||||
text :title do
|
||||
titles = ""
|
||||
titles << (self.title.zh_tw.nil? ? '':self.title.zh_tw)
|
||||
titles << (self.title.en.nil? ? '':self.title.en)
|
||||
#(titles << self.title.en )unless self.title.nil?
|
||||
doc = Nokogiri::HTML(titles)
|
||||
doc.text
|
||||
#VALID_LOCALES
|
||||
end
|
||||
|
||||
text :text do
|
||||
texts = ""
|
||||
texts << (self.text.zh_tw.nil? ? '':self.text.zh_tw)
|
||||
texts << (self.text.en.nil? ? '':self.text.en)
|
||||
#texts << self.text.en )unless self.text.en.nil?
|
||||
doc = Nokogiri::HTML(texts)
|
||||
doc.text
|
||||
#VALID_LOCALES
|
||||
end
|
||||
# text :sub_titles do
|
||||
# self.subtitle.zh_tw
|
||||
# #VALID_LOCALES
|
||||
# end
|
||||
# text :text do
|
||||
# self.text.zh_tw
|
||||
# #VALID_LOCALES
|
||||
# end
|
||||
# text :content, :publish_month
|
||||
# text :comments do
|
||||
# comments.map(&:content)
|
||||
# end
|
||||
# time :published_at
|
||||
# string :publish_month
|
||||
end
|
||||
# mapping do
|
||||
# indexes :title, :analyzer => 'cjk', :boost => 10
|
||||
# indexes :sub_titles, :analyzer => 'cjk', :boost => 5
|
||||
# indexes :text, :analyzer => 'cjk'
|
||||
# end
|
||||
|
||||
# def to_indexed_json
|
||||
# titles = title.zh_tw + title.en
|
||||
# sub_titles = subtitle.zh_tw + subtitle.en
|
||||
# texts = text.zh_tw + text.en
|
||||
# {
|
||||
# :id => id,
|
||||
# :title => titles,
|
||||
# :sub_titles => sub_titles,
|
||||
# :text => texts
|
||||
# }.to_json
|
||||
# end
|
||||
|
||||
def self.search( search = nil, category_id = nil )
|
||||
if category_id.to_s.size > 0 and search.to_s.size > 0
|
||||
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
<%= form_tag panel_news_front_end_news_bulletins_path, method: :get do %>
|
||||
<p>
|
||||
<%= text_field_tag :search_query, params[:search_query] %>
|
||||
<%= submit_tag "Search", name: nil %>
|
||||
</p>
|
||||
<% end %>
|
||||
@@ -45,6 +45,7 @@ Rails.application.routes.draw do
|
||||
match "reload_news_bulletins" => "news_bulletins#reload_news_bulletins"
|
||||
match "reload_web_links" => "news_bulletins#reload_web_links"
|
||||
match "news_bulletins_side_bar" => "news_bulletins#news_bulletins_side_bar"
|
||||
match "news_bulletins_search_block" => "news_bulletins#news_bulletins_search_block"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
+1
-2
@@ -5,8 +5,7 @@ class Panel::PageContent::BackEnd::PageContextsController < OrbitBackendControll
|
||||
#before_filter :is_admin?
|
||||
|
||||
def index
|
||||
|
||||
@page_contexts = params[:sort] ? get_sorted_and_filtered("page_contexts", {:archived => false}) : PageContext.where(:archived => false).page(params[:page]).per(10)
|
||||
@page_contexts = (params.has_key?:sort)? get_sorted_and_filtered("page_contexts", {:archived => false}) : PageContext.where(:archived => false).page(params[:page]).per(10)
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
|
||||
+1
-1
@@ -19,5 +19,5 @@
|
||||
<%end -%>
|
||||
</td>
|
||||
<td><%= display_date_time(page_context.updated_at) %></td>
|
||||
<td><%= User.find(page_context.create_user_id).name %></td>
|
||||
<td><%= User.find(page_context.create_user_id).name rescue ''%></td>
|
||||
</tr>
|
||||
Reference in new issue
Block a user