簡體   English   中英

C#NEST ElasticSearch搜索並突出顯示所有類型的所有字段

[英]C# NEST ElasticSearch search and highlight all fields in all types

我是彈性堆棧的新手,想在我的索引模型上實現全局搜索,這是我目前想到的:

        var response = _client.Search<IndexBase>(s => s
                                                     .Type(Types.Type(typeof(A), typeof(B)))
                                                     .Query(qry => qry
                                                                .Bool(b => b
                                                                          .Must(m => m
                                                                                    .QueryString(qs => qs
                                                                                                     .DefaultField("_all")
                                                                                                     .Query(request.Query)))))
                                                     .Highlight(h =>
                                                                    h.Fields(f => f.Field("_all")))

但是我的文檔點擊率中沒有亮點。 我在做什么錯? 如何檢索[索引,計數]對以突出顯示?

嘗試用*替換熒光筆中的“ _all”

     var response = _client.Search<IndexBase>(s => s
                                                 .Type(Types.Type(typeof(A), typeof(B)))
                                                 .Query(qry => qry
                                                            .Bool(b => b
                                                                      .Must(m => m
                                                                                .QueryString(qs => qs
                                                                                                 .DefaultField("_all")
                                                                                                 .Query(request.Query)))))
                                                 .Highlight(h =>
                                                                h.Fields(f => f.Field("*")))

您沒有正確索引字段。

為了執行突出顯示,需要該字段的實際內容。 如果存儲了有問題的字段(在映射中將store設置為true),則將使用該字段,否則,將加載實際的_source並從中提取相關的字段。

不能從_source提取_all字段,因此,如果它映射為將store設置為true,則只能用於突出顯示。 資源

同樣,對於任何更大的數據集,這都可能導致性能下降,因此始終最好以正確的方式設置搜索字段並知道要突出顯示的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM