使用嵌套在弹性搜索中将短语查询与多个字段匹配

Match phrase query with multiple fields in elasticsearch using nest

我正在尝试使用匹配短语进行查询,但在多个字段上进行查询,但我的巢只允许我在一个字段上进行查询,这是我的代码片段

    var result = client.Search<document>(s => s
    .Analyzer("automplete")
    .Query(p => p
    .MatchPhrase(M => M
    .OnField("description")
    .Query(value))));

我在 class 文档中有多个字段,我也想搜索这些字段。

请帮我解决这个问题 - 提前致谢!

match_phrase does not even support multiple fields. For using a match query over multiple fields, you need to use multi_match查询。

var result = client.Search<document>(s => s
    .Analyzer("automplete")
    .Query(p => p
        .MultiMatch(m => m
            .OnFields(new[] { "description" /*, add other fields here */ })
            .Query(value)
            .Type(TextQueryType.Phrase))));