Elasticsearch - 有或没有 "doc."?

Elasticsearch - with or without a "doc."?

我在使用“doc”时遇到了一些奇怪的问题。 Nest C# Elasticsearch 上的关键字。 我正在使用 Couchbase,我有一个 class,其中一个字段是对象数组 我尝试在这个数组中搜索特定值。 像这样:

        string mailFilesKey = string.Empty;
        ISearchResponse<object> result = _mainManager.Client.Search<object>(c => c
        .Type("MailFiles")
        .Query(q =>
            q.Term("SentFile_Id", fileId))
        .Size(1));

现在,这个东西真的有用了。但是当我这样做时,它不起作用:

     q.Term("doc.SentFile_Id", fileId))

为什么?

哈哈不错不错。很久以前,当我开始使用 Nest 和 Elastic 时,我就有过这个东西。如果你有对象,那么你可以使用 lambda 表达式 喜欢 f=>f.SentFile_Id。 现在当你使用字符串获取 nest 中的字段名称时,你必须知道 elastic 中的所有字段、索引名称、类型都是以小写首字母存储的。所以你应该使用这个:q.Term("sentFile_Id", fileId)) 应该工作得很好。