[英]Custom highlights in elastic search
我是弹性搜索的新手。 我有一个任务,我必须突出显示具有特定标签的某些查询。
我正在使用弹性搜索间隔中提到的类似查询。 现在的问题是我必须用html标签突出“我最喜欢的食物”,说“最喜欢的”和带有不同html标签的冷粥/热水,说“状态”。
我怎么能这样做
POST _search
{
"query": {
"intervals" : {
"my_text" : {
"all_of" : {
"ordered" : true,
"intervals" : [
{
"match" : {
"query" : "my favourite food",
"max_gaps" : 0,
"ordered" : true
}
},
{
"any_of" : {
"intervals" : [
{ "match" : { "query" : "hot water" } },
{ "match" : { "query" : "cold porridge" } }
]
}
}
]
},
"boost" : 2.0,
"_name" : "favourite_food"
}
}
}
}
您可以使用Elasticsearch中的突出显示功能,如下所示:
GET /index_name/_search
{
"query": {},
"highlight": {
"fields": {
"content": {
"type": "unified",
"number_of_fragments": 0,
"pre_tags": [
"<first_filter>",
"<second_filter>",
"<third filter>"
],
"post_tags": [
"<first_filter>",
"<second_filter>",
"<third filter>"
]
}
}
}
}
应用标记的顺序取决于应用过滤器的顺序。 另请注意,应用number_of_fragments:0
返回带有标记匹配的整个内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.