Return NEST C# 没有结果但查询 DSL return 结果

Return no result for NEST C# but Query DSL return result

我有这个查询 DSL,当我直接在 ElasticSearch

上查询时,return 是正确的结果
GET /person/_search
{
  "query": {
    "match": {
          "nameDetails.nameValue.firstName": {
            "query": "Fawsu"
          }
        }
    }
  }
}

但在 NEST C# 中,它 return 没有任何结果。我可以知道我的语法有什么问题吗?

        var response = _elasticClient.Search<Person> (s => s
            .Index("person")
            .Query(q => q
                .Match(m => m
                    .Field(f => f.NameDetails.Name.First().NameValue.FirstName)
                    .Query("Fawsu")
                )
            )
        );

        var response = _elasticClient.Search<Person> (s => s
            .Index("person")
            .Query(q => q
                .Match(m => m
                    .Field(f => f.NameDetails.Name[0].NameValue.FirstName)
                    .Query("Fawsu")
                )
            )
        );

如何查看 NEST 生成的查询以解决此问题?

.Field(f => f.NameDetails.Name[0].NameValue.FirstName) 中的表达式与预期的字符串相比,对象图看起来有一个额外的级别 Name。我希望表达式的输出是

nameDetails.name.nameValue.firstName

这将与查询中的字段 "nameDetails.nameValue.firstName" 不匹配。

You can see what NEST sends to Elasticsearch in a number of ways