2015-11-26 2 views
2

У кого-то проблемы с поисковым поиском? Я сделал что-то не так? Кто-то может скрыть намек?searchkick 400 [searchkick_search] не найден

благодарственное-х

Контроллер:

@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] { "Ошибка": { "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_shards": [{ "осколок": 0, "индекс": "products_development_20151125203817235", "узел": "f2jvKNboRcGf0NF11yEqyw", "причина": {" type ":" query_parsing_exception "," reason ":" [match] analyzer [searchkick_search] not found "," index ":" products_development_20151125203817235 "," line ": 1," col ": 89}}]}, статус ": 400}

ответ

1

Установите merge_mappings переменный истинный

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

Надеются, что это помогает. Удачи!

+1

Для того, чтобы использовать функции поиска Searchkick –

+1

справа! Спасибо чувак –

Смежные вопросы