jipe_app/app/controllers/public/search_controller.rb
2017-08-14 10:53:30 +02:00

68 lines
1.5 KiB
Ruby

class Public::SearchController < ApplicationController
layout "public"
def search
@lang = LangSite.first
if params[:q].nil?
@articles = []
else
#@articles = Article.search params[:q]
params[:per_page] ||= 10
params[:from] = params[:page].to_i * params[:per_page]
@articles = Article.__elasticsearch__.search(
query: {
query_string: {
query: "*#{params[:q]}*",
fuzzy_prefix_length: 3,
}
},
#size: params[:per_page],
# from: params[:from]
)
@articles = Article.__elasticsearch__.search(
"query"=> {
"multi_match"=> {
"fields" => ["lang_articles.title^5", "lang_articles.description^3", "lang_articles.html"],
"query"=> "*#{params[:q]}*",
"fuzziness"=> "AUTO",
#"operator"=> "and"
},
}
)
@pages = Page.__elasticsearch__.search(
"query"=> {
"multi_match"=> {
"fields" => ["lang_pages.title^10", "lang_pages.description^3", "lang_pages.html"],
"query"=> "*#{params[:q]}*",
"fuzziness"=> "AUTO",
#"operator"=> "and"
},
}
)
#query: "*text search terms* AND type:\"blog\" AND status:\"published\""
end
end
end