我正在尝试在我的 rails 应用程序中使用 Tire 实现 ElasticSearch。我做了一个非常基本的设置:
country.rb
class Country < ActiveRecord::Base
attr_accessible :name
include Tire::Model::Search
include Tire::Model::Callbacks
end
home.html.erb
<%= form_tag '/pages/search', :method => 'get' do %>
<p>
<%= text_field_tag :query, params[:query] %>
<%= submit_tag "Search", name: nil %>
</p>
<% end %>
pages_controller.rb
class PagesController < ApplicationController
def search
@countries = Country.search(params)
end
end
我收到一条错误消息:
400 : {"error":"SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[wy5c-7SwS2q0fXPjUg0gYg][countries][3]: SearchParseException[[countries][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"query_string\":{\"query\":{\"utf8\":\"\\u2713\",\"query\":\"C\",\"controller\":\"pages\",\"action\":\"search\"}}},\"size\":10}]]]; nested: QueryParsingException[[countries] [query_string] query does not support [utf8]]; }{[wy5c-7SwS2q0fXPjUg0gYg][countries][2]: SearchParseException[[countries][2]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"query_string\":{\"query\":{\"utf8\":\"\\u2713\",\"query\":\"C\",\"controller\":\"pages\",\"action\":\"search\"}}},\"size\":10}]]]; nested: QueryParsingException[[countries] [query_string] query does not support [utf8]]; }{[wy5c-7SwS2q0fXPjUg0gYg][countries][1]: SearchParseException[[countries][1]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"query_string\":{\"query\":{\"utf8\":\"\\u2713\",\"query\":\"C\",\"controller\":\"pages\",\"action\":\"search\"}}},\"size\":10}]]]; nested: QueryParsingException[[countries] [query_string] query does not support [utf8]]; }{[wy5c-7SwS2q0fXPjUg0gYg][countries][0]: SearchParseException[[countries][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"query_string\":{\"query\":{\"utf8\":\"\\u2713\",\"query\":\"C\",\"controller\":\"pages\",\"action\":\"search\"}}},\"size\":10}]]]; nested: QueryParsingException[[countries] [query_string] query does not support [utf8]]; }{[wy5c-7SwS2q0fXPjUg0gYg][countries][4]: SearchParseException[[countries][4]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"query_string\":{\"query\":{\"utf8\":\"\\u2713\",\"query\":\"C\",\"controller\":\"pages\",\"action\":\"search\"}}},\"size\":10}]]]; nested: QueryParsingException[[countries] [query_string] query does not support [utf8]]; }]","status":400}
谁能看到我在这里缺少什么?非常感谢所有的帮助者!