ElasticSearch Nest MatchPhrasePrefix多个字段

时间:2017-03-13 17:58:05

标签: c# elasticsearch nest

我正在尝试使用Nest C#并链接到文本框进行搜索。我有多个要搜索的字段,但我无法正常工作。

如果我在“tit”的部分文本中搜索一个字段[Title]以匹配“title”的值,那么这对我有用,但我还要在搜索中添加2个字段

var searchResponse = client.Search<Search>(s => s
  .Query(q => q.MatchPhrasePrefix(m => m.Field(f=>f.Title).Query("tit").MaxExpansions(10)))
  .Index("myindex")
);

1 个答案:

答案 0 :(得分:3)

您可以使用multi match phrase prefix query

client.Search<Search>(s => s
    .Query(q => q
        .MultiMatch(mm => mm
            .Fields(f => f
                .Field(ff => ff.Title)
                .Field(ff => ff.Message)
                .Field(ff => ff.Description)
            )
            .Type(TextQueryType.PhrasePrefix)
            .Query("tit")
            .MaxExpansions(10)
        )
    )
);