【发布时间】:2020-10-06 15:24:50
【问题描述】:
我有这个有效的 DSL 查询。它按预期返回结果。
GET /filedocuments/_search
{
"query": {
"multi_match": {
"query": "abc",
"fields": ["fileName", "metadata"]
}
}
}
但是,当它在下面的 NEST 库中运行时,它不会返回任何结果。我错过了什么?
var response = await _elasticClient.SearchAsync<FileDocument>(s => s
.Query(q => q
.MultiMatch(c => c
.Fields(f => f.Field(p => p.FileName).Field(p => p.Metadata))
.Query("abc")
)
)
);
这是映射:
"fileName" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
和
"metadata" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
【问题讨论】:
-
你有没有单独尝试过多重匹配部分?
-
如何分别进行多重匹配?
-
我说的是多匹配部分。
-
是的,但是关于多匹配部分的任何示例?
-
您介意检查生成的实际 HTTP 请求是什么吗?包括 URI 和请求正文。
标签: elasticsearch nest