searchkick 400 [searchkick_search] не найден

У кого-нибудь есть такая проблема с 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] анализатор [searchkick_search] не найден","index":"products_development_20151125203817235","line" :1,"col":89}],"type":"search_phase_execution_exception","причина":"все осколки не пройдены","фаза":"запрос","сгруппировано":true,"failed_shards":[{" shard":0,"index":"products_development_20151125203817235","node":"f2jvKNboRcGf0NF11yEqyw","reason":{"type":"query_parsing_exception","reason":"[match] анализатор [searchkick_search] не найден", "index":"products_development_20151125203817235","строка":1,"столбец":89}}]},"статус":400}


person Community    schedule 26.11.2015    source источник


Ответы (1)


Установите для переменной 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

Надеюсь это поможет. Удачи!

person Oss    schedule 26.11.2015
comment
Чтобы иметь возможность использовать функции поиска searchkick - person Oss; 26.11.2015