ElasticSearch和NEST库的Include_In_Parent选项

时间:2014-12-16 10:40:01

标签: elasticsearch nest

我正在使用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属性(我没有发现任何明显的属性)或其他一些方法呢?

谢谢

1 个答案:

答案 0 :(得分:0)

显然,这只能通过使用流利的语法来完成。对于上述情况,代码为:

.AddMapping<X>(m => m
    .Properties(p => p
         .NestedObject<Y>(n => n
             .Name("ys")
             .IncludeInParent())