我有这个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/

10-12 21:27