Я работаю над существующим приложением rails, где они в настоящее время используют elasticsearch gem
.Сейчас я пытаюсь переключить его на searchkick
.Я настроил драгоценный камень в приложении.В настоящее время, если я делаю:
Model.search(keyword)
с консоли, я получаю выход.
Но в настоящее время они передают строку запроса в виде вложенного хэша в реальном приложении, которое выглядит следующим образом:
{:query=>{:bool=>{:must=>[{:multi_match=>{:query=>"apple", :fields=>["title^2", "content", "description"]}}], :should=>[], :filter=>[{:term=>{:data_proxy_id=>"4d629f00-c8b1-aacc-97b5-e21e4c0bbe3f"}}, {:term=>{:article_type=>"Article"}}, {:term=>{:status=>"published"}}]}}, :sort=>{"_score"=>{"order"=>"desc"}}, :aggs=>{:group_by_section=>{:terms=>{:field=>"section.name.raw", :size=>0}}, :group_by_category=>{:terms=>{:field=>"category.name.raw", :size=>0}}, :group_by_author=>{:terms=>{:field=>"authors.fullname.raw", :size=>0}}, :year_based=>{:date_histogram=>{:field=>"publish_date", :interval=>"1y", :format=>"yyyy", :min_doc_count=>1, :time_zone=>"+00:00"}}, :month_year_based=>{:date_histogram=>{:field=>"publish_date", :interval=>"month", :format=>"MM-yyy", :min_doc_count=>1, :time_zone=>"+00:00"}}}}
Если я передам этот хэш в качестве параметров Model.search(query_hash)
.Я получаю следующую ошибку.
ArgumentError: unknown keywords: query, sort