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))
应该工作得很好。
我在使用“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))
应该工作得很好。