ElasticSearch:是否可以定义备用密钥

问题描述:

每个文档_Id用作主键。如果我在数据中有一个备用密钥,是否可以在ElasticSearch中定义一个密钥,并且如果插入了具有相同备用密钥的两个记录,则可以防止重复行?我使用的是NEST库client.Index(data);摄取记录。ElasticSearch:是否可以定义备用密钥

是的,你可以使用“路径”指向在要作为一个唯一的ID使用您的源数据的_id场场:

{ 
    "sample_mapping" : { 
     "_id" : { 
      "path" : "your_unique_field" 
     } 
    } 
} 

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-id-field.html

+3

感谢。这是我如何处理NEST .Net库:'code' var response = client.CreateIndex(c => c .Index(“person”) .InitializeUsing(settings) .AddMapping (m => m 。 MapFromAttributes() .IdField(f => f .Path(“key”))) ); – frosty 2014-09-01 22:06:55