弹性搜索模型gem(rails),为映射添加新字段

时间:2016-01-19 05:16:13

标签: ruby-on-rails elasticsearch

以下是更新弹性搜索

的映射的API
PUT twitter/_mapping/tweet 
{
 "properties": {
   "user_name": {
    "type": "string"
   }
  }
 }

这会在tweet映射类型中添加一个名为user_name的新字段。 如何使用弹性搜索模型gem实现此目的 https://github.com/elastic/elasticsearch-rails/tree/master/elasticsearch-model

1 个答案:

答案 0 :(得分:10)

您可以将put_mapping API用于此目的。

对于您的情况,以下情况应该有效。

client = Elasticsearch::Model.client

data = { "tweet" => { "properties" => { "user_name" => { "type" => "string" } } } }

client.indices.put_mapping(
{
 index: 'twitter',
 type: 'tweet',
 body: data 
})