I'm trying to revive a dinosaur one old project on Rails 2, but I get this error:
[REQUEST FAILED] curl -X GET 'http://localhost:9200/prices/price/_search?size=20&pretty' -d '{"facets":{"groups":{"terms":{"field":"id_group","size":1000,"all_terms":false},"facet_filter":{"and":[{"term":{"id_group":"1"}}]}},"groups_subgroups":{"terms":{"field":"groups_subgroups","size":1000,"all_terms":false},"facet_filter":{"and":[{"term":{"id_group":"1"}}]}},"cat_filter":{"terms":{"field":"cat_filter","size":1000,"all_terms":false}},"id_firm":{"terms":{"field":"id_firm","size":10000,"all_terms":false},"facet_filter":{"and":[{"term":{"id_group":"1"}}]}},"tag":{"terms":{"field":"tag","size":1000,"all_terms":false},"facet_filter":{"and":[{"term":{"id_group":"1"}}]}},"subtag":{"terms":{"field":"subtag","size":1000,"all_terms":false},"facet_filter":{"and":[{"term":{"id_group":"1"}}]}}},"filter":{"term":{"id_group":"1"}},"size":20}' Tire::Search::SearchRequestFailed (503 : {"error":"SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[Bvb_RU-XTxmYKE4fX0syXw][prices][4]: EsRejectedExecutionException[rejected execution (queue capacity 1000) on org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$4@7490df2b]}{[Bvb_RU-XTxmYKE4fX0syXw][prices][3]: EsRejectedExecutionException[rejected execution (queue capacity 1000) on org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$4@248efb5b]}{[Bvb_RU-XTxmYKE4fX0syXw][prices][2]: EsRejectedExecutionException[rejected execution (queue capacity 1000) on org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2@2718261d]}]","status":503}): app/models/price.rb:92:in `search' app/controllers/search_controller.rb:9:in `index' What can it be connected with? Which way to dig? Write in the comments if you need any details.
Elasticsearch server is working
$ curl -X GET http://localhost:9200/ { "status" : 200, "name" : "Illusion", "version" : { "number" : "1.0.3", "build_hash" : "NA", "build_timestamp" : "NA", "build_snapshot" : false, "lucene_version" : "4.6" }, "tagline" : "You Know, for Search" } The place where the error occurs
# controller @prices = Price.includes(:firm, :cost).search(params) # search.rb tire.search(load: { include: %w(firm cost) }, page: params[:page], per_page: 20) do query do custom_filters_score do query do # q_converted = params[:q].gsub('.', '').convert_keyboard q_converted = params[:q].gsub('.', '').convert_keyboard search_query = ["name:'#{q}'"] search_query << "name:'#{q_converted}'" if q != q_converted # search_query << "name_first:'#{q.split(' ')[0]}'" if q.split(' ')[0] string search_query.join(' '), default_operator: 'OR', analyze_wildcard: true # string "name:'#{q}' name:'#{q_converted}'", default_operator: 'OR', analyze_wildcard: true end if q.split(' ')[0] filter do filter :term, name_first: q.split(' ')[0] boost 5 end filter do filter :term, name_second: q.split(' ')[0] boost 3 end filter do filter :term, name_third: q.split(' ')[0] boost 2 end filter do filter :term, name_fourth: q.split(' ')[0] boost 1.5 end end if q.split(' ')[1] filter do filter :term, name_second: q.split(' ')[1] boost 2.0 end end if q.split(' ')[2] filter do filter :term, name_third: q.split(' ')[2] boost 1.5 end end if q.split(' ')[3] filter do filter :term, name_fourth: q.split(' ')[3] boost 1.2 end end score_mode 'total' end end if params[:q].present?