[英]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.