jam*_*hid 2 c# elasticsearch nest
大家
我与C#elasticsearch的巢司机工作.在我的项目中,我没有任何文档映射,如果我想突出显示匹配的字段,我应该在我的查询中使用这个Json部分,它突出显示所有字段:
"highlight":{
"fields":{
"*":{}
}
}
Run Code Online (Sandbox Code Playgroud)
但我想用巢做.我用这个代码:
client.Search<dynamic>(s => s
.Index('my index name')
.Type('my doc type name')
.From(page*PageSize)
.Size(PageSize)
.Query(q => q
.QueryString(qs => qs.Query('my query')))
.Highlight(h => h
.OnFields(f => f
.OnAll()
.PreTags("<b style='color:black'>")
.PostTags("</b>")
)));
Run Code Online (Sandbox Code Playgroud)
它不适合我,返回结果包含命中,但不包含任何突出显示:(
我猜你在找
client.Search<dynamic>(s => s
.Index('my index name')
.Type('my doc type name')
.From(page*PageSize)
.Size(PageSize)
.Query(q => q
.QueryString(qs => qs.Query('my query')))
.Highlight(h => h
.OnFields(f => f
.OnField("*")
.PreTags("<b style='color:black'>")
.PostTags("</b>")
)));
Run Code Online (Sandbox Code Playgroud)
因为.OnAll()
手段.OnField("_all")
.
UPDATE:对象初始化语法(NEST 5.x)
var searchRequest = new SearchRequest
{
Query = ..
Highlight = new Highlight
{
PostTags = new[] {"<a>"},
PreTags = new[] {"</a>"},
Fields = new FluentDictionary<Field, IHighlightField>().Add("*", new HighlightField())
}
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2211 次 |
最近记录: |