簡體   English   中英

Elasticsearch 在數組上突出顯示,如何返回整個數組

[英]Elasticsearch highlight on array, how to return entire array

我正在嘗試在 Elasticsearch 中做一些突出顯示,但很難獲得我想要的多值字段的輸出。 這是我現在正在做的事情:

{ "query" : { "match": { "nameSet": "test" } }, 
  "highlight" : { "fields" : { "*": {"number_of_fragments": 0 } } }
}

這給了我(省略了不必要的字段):

"hits" : [ {
    ...
    "_source" : {
        "nameSet" : ["TEST", "NAME"]
    },
    "highlight" : {
       "nameSet" : [ "<em>TEST</em>" ]
    }
 }, 
 ...

我想要的是完整的數組,而不僅僅是匹配的項目。 在此示例中,我希望強調“TEST”,並顯示“NAME”但不強調。

"hits" : [ {
    ...
    "_source" : {
        "nameSet" : ["TEST", "NAME"]
    },
    "highlight" : {
       "nameSet" : [ "<em>TEST</em>", "NAME" ] 
    }
 }, 
 ...

有什么辦法可以純粹在 ES 中做到這一點?

謝謝。

在高亮對象內部,您可以使用 pre 和 post 標簽。 例如:

"hits" : [ {
    ...
    "_source" : {
        "nameSet" : ["TEST", "NAME"]
    },
    "highlight" : {
       "pre_tags": "<em>",
       "post_tags": "</em>",
       "nameSet" : [ "<em>TEST</em>", "NAME" ] 
    }
 }, 
 ...

暫無
暫無

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

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