我正试图在Elasticsearch中进行一些突出显示,并且很难获得我想要的多值字段输出.这就是我现在正在做的事情:
{ "query" : { "match": { "nameSet": "test" } },
"highlight" : { "fields" : { "*": {"number_of_fragments": 0 } } }
}
Run Code Online (Sandbox Code Playgroud)
这给了我(省略了不必要的字段):
"hits" : [ {
...
"_source" : {
"nameSet" : ["TEST", "NAME"]
},
"highlight" : {
"nameSet" : [ "<em>TEST</em>" ]
}
},
...
Run Code Online (Sandbox Code Playgroud)
我想要的是完整的数组,而不仅仅是匹配的项目.在这个例子中,我希望强调"TEST"并且"NAME"存在但不强调.
"hits" : [ {
...
"_source" : {
"nameSet" : ["TEST", "NAME"]
},
"highlight" : {
"nameSet" : [ "<em>TEST</em>", "NAME" ]
}
},
...
Run Code Online (Sandbox Code Playgroud)
任何方式纯粹在ES中这样做?
谢谢.
Jes*_*ela -3
在突出显示对象内部,您可以使用前置和后置标签。例如:
"hits" : [ {
...
"_source" : {
"nameSet" : ["TEST", "NAME"]
},
"highlight" : {
"pre_tags": "<em>",
"post_tags": "</em>",
"nameSet" : [ "<em>TEST</em>", "NAME" ]
}
},
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
727 次 |
| 最近记录: |