-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Description
The MapFromAttributes is not working when the class includes an enum. Here is a simple example:
public void InitializeES()
{
//drop the index for debugging purposes, remove this later
var deleteResponse = _client.DeleteIndex(f => f.Index(_client.Infer.DefaultIndex));
VerifyResponse(deleteResponse);
if (!_client.IndexExists(i => i.Index(_client.Infer.DefaultIndex)).Exists)
{
var response = _client.CreateIndex(_client.Infer.DefaultIndex);
VerifyResponse(response);
}
VerifyResponse(_client.Map<TestClass>(m => m.MapFromAttributes()));
}
private static void VerifyResponse(IResponse response)
{
if (!response.IsValid)
{
throw new ElasticsearchServerException(response.ServerError);
}
}
[ElasticType(Name = "testclass")]
public class TestClass
{
public int Id { get; set; }
[ElasticProperty(Index = FieldIndexOption.NotAnalyzed)]
[JsonConverter(typeof(StringEnumConverter))]
public EnumTester EnumTest { get; set; }
}
public enum EnumTester
{
Value1,
Value2
}
This is the resulting structure from calling GET testindex/_mapping:
{
"testindex": {
"mappings": {
"testclass": {
"properties": {
"id": {
"type": "integer"
}
}
}
}
}
}
The enum is missing from the mapped data structure.
I'm on ES 1.3.0, NEST 1.0.2
Am I doing something wrong or is this a bug?
Thanks in advance guys, I love ES and I love NEST!
Metadata
Metadata
Assignees
Labels
No labels