Elasticsearch - 有或没有" doc。"?

时间:2015-07-04 13:41:40

标签: elasticsearch couchbase nest

我正面临一些奇怪的问题" doc。" Nest C#Elasticsearch上的关键字。 我使用CouchBase,我有一个类,其中一个字段是一个对象数组 我尝试在此数组中搜索特定值。 像这样:

        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))

为什么?

1 个答案:

答案 0 :(得分:0)

好吧,好吧。很久以前,当我开始使用Nest和弹性时,我有这个东西。如果你有对象,那么你可以使用lambda表达式 比如f=>f.SentFile_Id。 现在,当您使用字符串获取嵌套中字段的名称时,您必须知道所有字段,索引名称,弹性类型都以小写的第一个字母存储。所以你应该使用它:q.Term("sentFile_Id", fileId)) 应该工作得很好。