ElasticSearch 嵌套 MatchPhrasePrefix 多个字段
ElasticSearch Nest MatchPhrasePrefix Multiple Fields
我正在尝试使用 Nest C# 和 link 到文本框进行搜索。我有多个要搜索的字段,但无法正常工作。
如果我在一个字段 [Title] 中搜索 "tit" 的部分文本以匹配具有 "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")
);
您可以使用 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)
)
)
);
我正在尝试使用 Nest C# 和 link 到文本框进行搜索。我有多个要搜索的字段,但无法正常工作。
如果我在一个字段 [Title] 中搜索 "tit" 的部分文本以匹配具有 "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")
);
您可以使用 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)
)
)
);