【问题标题】:ElasticSearch Multi-Match in NestNest 中的 ElasticSearch 多匹配
【发布时间】: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


【解决方案1】:

我将其转换为 .ToUpper() 后解决

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    相关资源
    最近更新 更多