我有这个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
}
}
}
最佳答案
我将其转换为.ToUpper()后已解决
关于elasticsearch - Nest中的ElasticSearch多重匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64204672/