通过searchkick错误

时间:2017-06-26 08:56:19

标签: ruby-on-rails elasticsearch searchkick

我有一个非常奇怪的错误来自searchkick索引我的数据。 基本上我正在尝试添加自定义映射以将一列指定为文本类型而不是关键字。

这是我正在使用的映射(作为summary的默认映射是关键字):

searchkick merge_mappings: true, mappings: {
  candidates: {
    properties: { 
      summary:   {type: "text"},
     }
  } 
} 

但是当运行reindex时我有这个错误:

Searchkick::ImportError: 
{"type"=>"mapper_parsing_exception", "reason"=>"failed to parse", "caused_by"=>
{"type"=>"illegal_state_exception", "reason"=>"Mixing up field types: class org.elasticsearch.index.mapper.KeywordFieldMapper$KeywordFieldType != class org.elasticsearch.index.mapper.TextFieldMapper$TextFieldType on field summary"}} on item with id '123'

我尝试了很多东西:

  • 更改分析器
  • 更新searchkick和elasticsearch,并尝试了不同的版本
  • 通过Kibana控制台尝试完全相同的查询和映射(实际上它可以正常工作,没有问题索引与映射抱怨相同的数据)
  • 查找映射文本类型字段
  • 背后的代码

我真的无法找到为什么elasticsearch或searchkick不想将我的数据索引为文本。

如果您对我能尝试的内容有任何想法,那将是一个巨大的帮助。 非常感谢!

0 个答案:

没有答案