使用nest匹配elasticsearch中的多个字段的短语查询

时间:2016-01-06 07:18:10

标签: elasticsearch nest match-phrase

我正在尝试使用matchphrase进行查询,但是在多个字段上,但我的巢允许我只在一个字段上执行此操作,这是我的代码段

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

我在课程文档中有多个字段,我也希望在这些字段上搜索。

请帮助我 - 提前谢谢!

1 个答案:

答案 0 :(得分:1)

match_phrase甚至不支持多个字段。要在多个字段上使用match查询,您需要使用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))));