我正在使用ElasticSearch和NEST .Net库来实现我们的应用程序所需的搜索功能。在我的模型中,我有一个包含嵌套对象的类型,如下所示。
[ElasticType(Name = "x")]
public class X
{
[ElasticProperty(IncludeInAll = false, Index = FieldIndexOption.NotAnalyzed)]
public string Id { get; set; }
[ElasticProperty(Type = FieldType.Nested)]
public List<Y> Ys { get; set; }
}
对X执行的任何查询实际上是针对Y列表执行的。我想强调嵌套对象中的命中并基于https://github.com/elasticsearch/elasticsearch/issues/5245。
但是,为了使用建议的解决方法,对于嵌套对象,include_in_parent选项应为true。
如何使用NEST库启用此选项?有没有ElasticProperty属性(我没有发现任何明显的属性)或其他一些方法呢?
谢谢
答案 0 :(得分:0)
显然,这只能通过使用流利的语法来完成。对于上述情况,代码为:
.AddMapping<X>(m => m
.Properties(p => p
.NestedObject<Y>(n => n
.Name("ys")
.IncludeInParent())