首页 > 代码库 > 高亮搜索结果(highlighting our searches)

高亮搜索结果(highlighting our searches)

很多的应用喜欢高亮所搜结果文档中符合搜索条件的片段特别显示,用来提醒用户为什么搜索结果文档符合他们的搜索条件。这个在ES中也是很容易实现的。

如下:

GET /megacorp/employee/_search
{
   
"query":{
       
"match_phrase":{
           
"about":"rock climbing"
       
}
   
},
   
"highlight":{
       
"fields":{
           
"about":{}
       
}
   
}
}

这次的搜索结果和前面提到的并无大的差异,只是我们可以发现在返回的结果中有新的命名为highlight的部分。这个部分包含了在结果的片断,并把符合搜索条件的文字描述在HTML<em></em>标签中。

{
   
...
   
"hits":{
     
"total":      1,
     
"max_score":  0.23013961,
     
"hits":[
         
{
           
...
           
"_score":         0.23013961,
           
"_source":{
               
"first_name":  "John",
               
"last_name":   "Smith",
               
"age":         25,
               
"about":       "I love to go rock climbing",
               
"interests":["sports","music"]
           
},
           
"highlight":{
               
"about":[
                 
"I love to go <em>rock</em> <em>climbing</em>"
               
]
           
}
         
}
     
]
   
}
}

 

原文:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/highlighting-intro.html