我已经使用 Nest 成功获得了结果和亮点,但是如果我包括两个要在其中搜索亮点的字段,它只会使用最后一个来构建 elasticsearch 查询。例如以下
.Query(qry => qry
.QueryString(qs => qs
.Query(qString)
)
)
.Highlight(h => h
.PreTags("<b>")
.PostTags("</b>")
.OnFields(f => f
.OnField("Title")
.OnField("Summary")
)
)
意味着我只得到从“摘要”字段返回的亮点。如果我直接使用等效查询查询 elasticsearch,我可以从两个字段中检索突出显示。 例如
{
"query": {
"query_string": {
"query": "apple"
}
},
"highlight": {
"pre_tags": ["<b>"],
"post_tags": ["</b>"],
"fields": {
"Title": {},
"Summary": {}
}
}
}
可以用 Nest 做到这一点吗?我做错了什么吗?
最佳答案
每个突出显示的字段都需要一个单独的“.OnField”。
.Highlight(h => h
.PreTags("<b>")
.PostTags("</b>")
.OnFields(
f => f.OnField("Title"),
f => f.OnField("Summary")
)
)
看另一个例子here .
关于elasticsearch - NEST(elasticsearch)多字段高亮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18361433/