Searchkick word_start与嵌套字段匹配

时间:2019-03-30 09:43:02

标签: ruby-on-rails elasticsearch searchkick

我有一个带有searchkick gem的Rails应用程序。我的模型有一个嵌套的JSON字段。我尝试通过word_start匹配使其可搜索。当我明确设置为:

class Post < ApplicationRecord 
  searchkick word_start: [:nested_data_field]
end

我不工作,但出现错误:

{"type"=>"mapper_parsing_exception", "reason"=>"failed to parse [nested_data_field]", "caused_by"=>{"type"=>"illegal_state_exception", "reason"=>"Can't get text on a START_OBJECT at 1:401"}} on item with id '2596'

如何使此嵌套的JSON字段与word_start匹配?

我在https://github.com/ankane/searchkick/issues/1149处发现了相同的问题-但没有结果。

1 个答案:

答案 0 :(得分:1)

在这种情况下,您必须明确定义字段在Elasticsearch中的索引方式

PUT /pages/my_external_page_id/words