Elasticsearch没有索引DB中名为"type"的字段

use*_*440 1 ruby-on-rails elasticsearch

使用单表继承,面临在表中索引名为"type"的特定列的问题.该表有两个感兴趣的列(以及其他),"product_name"和"type"."product_name"字段已正确编入索引,"类型"字段根本没有编入索引 - 有关故障排除的任何想法吗?使用elasticsearch-ruby gem和Ruby on Rails.

Sha*_*ell 5

假设您elasticsearch-model用于索引rails模型,默认情况下会排除type列.基本上,as_json在模型上调用以提供要添加到索引的elasticsearch的字段.

为了向索引中添加未返回的字段,as_json您需要提供一个实现as_indexed_json.该过程在自述文件中的模型序列化中描述.

您可能需要执行以下操作:

def as_indexed_json(options = {})
  as_json(methods: :type)
end
Run Code Online (Sandbox Code Playgroud)

这会将类型添加到用于索引对象的json.