elasticsearch,nest,C#,elasticsearch,Nest" /> elasticsearch,nest,C#,elasticsearch,Nest" />

C# 嵌套不推荐的字段[包括]

C# 嵌套不推荐的字段[包括],c#,elasticsearch,nest,C#,elasticsearch,Nest,我刚刚将elastic search从2.3.4更新到5.0.1,并将nest C#nuget包更新到最新的2.4.7 我有以下嵌套查询: SourceFilter sourceFilter = new SourceFilter() { Include = Infer.Fields<Page>(p => p.Category, p => p.Title) }; MultiMatchQ

我刚刚将elastic search从2.3.4更新到5.0.1,并将nest C#nuget包更新到最新的2.4.7

我有以下嵌套查询:

        SourceFilter sourceFilter = new SourceFilter()
        {
            Include = Infer.Fields<Page>(p => p.Category, p => p.Title)
        };

        MultiMatchQuery multiMatchQuery = new MultiMatchQuery()
        {
            Fields = Infer.Fields<Page>(p => p.Title, p => p.MetaDescription, p => p.Keywords),
            Type = TextQueryType.PhrasePrefix,
            Query = search.Term
        };

        var searchQuery = new SearchRequest<Page>()
        {
            From = search.ResultsFrom,
            Size = search.ResultsSize,
            Source = sourceFilter,
            Query = multiMatchQuery
        };

        var searchResponse = client.Search<Page>(searchQuery);
SourceFilter SourceFilter=newsourcefilter()
{
Include=推断字段(p=>p.Category,p=>p.Title)
};
MultiMatchQuery MultiMatchQuery=新的MultiMatchQuery()
{
字段=推断字段(p=>p.Title,p=>p.MetaDescription,p=>p.Keywords),
Type=TextQueryType.PhrasePrefix,
Query=search.Term
};
var searchQuery=newsearchrequest()
{
From=search.ResultsFrom,
Size=search.ResultsSize,
Source=sourceFilter,
查询=多重匹配查询
};
var searchResponse=client.Search(searchQuery);
我从elastic得到以下错误:

使用了不推荐使用的字段[include],应改为[include]

注释掉
SourceFilter
允许查询运行


是否有其他方法使用
SourceFilter

根据需要,
Include
的语法应该是
Include
,而不是
Include
。即使您上面提到的错误也会导致
Include
的语法错误。但是我不确定版本的兼容性。如果我复制你的,它应该是这样的:

    Source  = new SourceFilter()
    {
      Includes = Infer.Fields<Page>(p => p.Category, p => p.Title)        
    };
Source=newsourcefilter()
{
Includes=推断字段(p=>p.Category,p=>p.Title)
};

根据规范,
包含的语法应该是
包含
,而不是
包含
。即使您上面提到的错误也会导致
Include
的语法错误。但是我不确定版本的兼容性。如果我复制你的,它应该是这样的:

    Source  = new SourceFilter()
    {
      Includes = Infer.Fields<Page>(p => p.Category, p => p.Title)        
    };
Source=newsourcefilter()
{
Includes=推断字段(p=>p.Category,p=>p.Title)
};

如果您使用的是Elasticsearch 5.0.1;nuget上最新的5.x版本目前是(预发布版),5.0.0很快就会发布


如果你正在与Elasticsearch 5.0.1竞争;nuget上最新的5.x版本目前是(预发布版),5.0.0很快就会发布


你有什么版本的NEST library?我不认为包含是的属性SourceFilter@AndrewWalters抱歉,我没有使用
NEST
。只是看了一下,突然出现了。有includes,抛出异常吗?是的,看起来includes实际上不是嵌套库的字段/属性。你有什么版本的嵌套库?我不认为包含是的属性SourceFilter@AndrewWalters抱歉,我没有使用
NEST
。只是看了一下,突然出现了。有includes,抛出异常吗?是的,看起来includes实际上不是嵌套库的字段/属性。我明白了,我明白了。我没有看到那个版本,因为它在Nuget中被标记为预发布。谢谢别担心!GA很快就会发布:)我明白了,我明白了。我没有看到那个版本,因为它在Nuget中被标记为预发布。谢谢别担心!GA即将发布:)