Skip to content

Commit 7c6b6a6

Browse files
committed
provide overload for generic mapping to forcefully NOT render a name property fix #384
1 parent 506eb29 commit 7c6b6a6

File tree

4 files changed

+22
-4
lines changed

4 files changed

+22
-4
lines changed

src/Nest.Tests.Unit/Core/Map/DynamicTemplates/DynamicTemplatesTests.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ public void MultiFieldWithGenericTypes()
3030
.Index("not_analyzed")
3131
.Store()
3232
)
33+
.Generic(g => g
34+
.Name("suggest", noNameProperty: true)
35+
.Type("completion")
36+
.IndexAnalyzer("default")
37+
)
3338
)
3439
)
3540
)

src/Nest.Tests.Unit/Core/Map/DynamicTemplates/MultiFieldWithGenericTypes.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
"type": "{dynamic_type}",
1818
"store": "yes",
1919
"index": "not_analyzed"
20+
},
21+
"suggest": {
22+
"type": "completion",
23+
"index_analyzer": "default"
2024
}
2125
}
2226
}

src/Nest.Tests.Unit/Core/Map/FluentMappingFullExampleTests.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,12 @@ public void MapFluentFull()
108108
.Index("not_analyzed")
109109
.Store()
110110
)
111+
.Generic(g => g
112+
.Name("do_no_render_name_property", noNameProperty: true)
113+
.Type("{dynamic_type}")
114+
.Index("not_analyzed")
115+
.Store()
116+
)
111117
)
112118
)
113119
)

src/Nest/Domain/Mapping/Descriptors/GenericMappingDescriptor.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,19 @@ public class GenericMappingDescriptor<T>
88
{
99
internal GenericMapping _Mapping = new GenericMapping();
1010

11-
public GenericMappingDescriptor<T> Name(string name)
11+
public GenericMappingDescriptor<T> Name(string name, bool noNameProperty = false)
1212
{
13-
this._Mapping.Name = name;
13+
if (!noNameProperty)
14+
this._Mapping.Name = name;
15+
1416
this._Mapping.TypeNameMarker = name;
1517
return this;
1618
}
17-
public GenericMappingDescriptor<T> Name(Expression<Func<T, object>> objectPath)
19+
public GenericMappingDescriptor<T> Name(Expression<Func<T, object>> objectPath, bool noNameProperty = false)
1820
{
1921
var name = new PropertyNameResolver().ResolveToLastToken(objectPath);
20-
this._Mapping.Name = name;
22+
if (!noNameProperty)
23+
this._Mapping.Name = name;
2124
this._Mapping.TypeNameMarker = name;
2225
return this;
2326
}

0 commit comments

Comments
 (0)