searchkick 400 [searchkick_search] 未找到
searchkick 400 [searchkick_search] not found
有人在使用 searchkick 时遇到这种问题吗?
我做错事情了?
有人可以给点提示吗?
谢谢
控制器:
@products = Product.search(params[:query], page: params[:page])
型号:
after_touch :reindex
searchkick mappings: {
product: {
properties: {
name: {type: "string", analyzer: "keyword"}
}
}
}
def search_data
as_json only: [:name, :price]
# or equivalently
{
name: name,
price: price
}
end
[400]
{"error":{"root_cause":[{"type":"query_parsing_exception","reason":"[match]
analyzer [searchkick_search] not
found","index":"products_development_20151125203817235","line":1,"col":89}],"type":"search_phase_execution_exception","reason":"all
shards
failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"products_development_20151125203817235","node":"f2jvKNboRcGf0NF11yEqyw","reason":{"type":"query_parsing_exception","reason":"[match]
analyzer [searchkick_search] not
found","index":"products_development_20151125203817235","line":1,"col":89}}]},"status":400}
将您的 merge_mappings
变量设置为 true
after_touch :reindex
searchkick merge_mappings: true, mappings: {
product: {
properties: {
name: {type: "string", analyzer: "keyword"}
}
}
}
def search_data
as_json only: [:name, :price]
# or equivalently
{
name: name,
price: price
}
end
然后 运行 rake searchkick:reindex:all
或 Model.reindex
希望这对您有所帮助。祝你好运!
有人在使用 searchkick 时遇到这种问题吗? 我做错事情了? 有人可以给点提示吗?
谢谢
控制器:
@products = Product.search(params[:query], page: params[:page])
型号:
after_touch :reindex
searchkick mappings: {
product: {
properties: {
name: {type: "string", analyzer: "keyword"}
}
}
}
def search_data
as_json only: [:name, :price]
# or equivalently
{
name: name,
price: price
}
end
[400] {"error":{"root_cause":[{"type":"query_parsing_exception","reason":"[match] analyzer [searchkick_search] not found","index":"products_development_20151125203817235","line":1,"col":89}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"products_development_20151125203817235","node":"f2jvKNboRcGf0NF11yEqyw","reason":{"type":"query_parsing_exception","reason":"[match] analyzer [searchkick_search] not found","index":"products_development_20151125203817235","line":1,"col":89}}]},"status":400}
将您的 merge_mappings
变量设置为 true
after_touch :reindex
searchkick merge_mappings: true, mappings: {
product: {
properties: {
name: {type: "string", analyzer: "keyword"}
}
}
}
def search_data
as_json only: [:name, :price]
# or equivalently
{
name: name,
price: price
}
end
然后 运行 rake searchkick:reindex:all
或 Model.reindex
希望这对您有所帮助。祝你好运!