elasticsearch,highlight,nest,C#,elasticsearch,Highlight,Nest" /> elasticsearch,highlight,nest,C#,elasticsearch,Highlight,Nest" />

C# Elasticsearch巢高光

C# Elasticsearch巢高光,c#,elasticsearch,highlight,nest,C#,elasticsearch,Highlight,Nest,我刚开始在C#项目中使用elasticsearch。我想在结果页面中突出显示搜索的术语,但不知道如何处理它们的显示 我的问题如下 result = client.Search<MyContentClass>(s => s .Query(a => a.MatchPhrase(m => m.OnField("_all").Query(m_strSearchQuery)) .From(intFr

我刚开始在C#项目中使用elasticsearch。我想在结果页面中突出显示搜索的术语,但不知道如何处理它们的显示

我的问题如下

result = client.Search<MyContentClass>(s => s
            .Query(a => 

            a.MatchPhrase(m => m.OnField("_all").Query(m_strSearchQuery))

            .From(intFrom)
            .Size(intSize)
            .Highlight(h => h
            .PreTags("<b style='color:orange'>")
            .PostTags("</b>")
            .OnFields(f => f
            .OnField(e => e.Title)
            .OnField(e => e.Content)                
            )
            )
            ); 
我看不到结果中突出显示的任何术语,也看不到突出显示标签中包装的术语


我没有做对什么?

突出显示存储在
Hit
对象的
Hightlights
属性中

以下是您可能希望访问它们的方式:

result.Hits.Select(h => h.Highlights.Values.Select(v => string.Join(", ", v.Highlights)))

希望能有帮助。

谢谢,但这对我不起作用。。好像我需要在源文本字段中用相应的突出显示值中返回的匹配突出显示文本进行某种替换…您找到解决方案了吗?
result.Hits.Select(h => h.Highlights.Values.Select(v => string.Join(", ", v.Highlights)))