ElasticSearch 学习记录之ES高亮搜索

ElasticSearch 系列文章

1 ES 入门之一 安装ElasticSearcha

2 ES 记录之如何建立一个索引映射

3 ElasticSearch 学习记录之Text keyword 两种基本类型区别

4 ES 入门记录之 match和term查询的区别

5 ElasticSearch 学习记录之ES几种常见的聚合操做

6 ElasticSearch 学习记录之父子结构的查询

7 ElasticSearch 学习记录之ES查询添加排序字段和使用missing或existing字段查询

8 ElasticSearch 学习记录之ES高亮搜索

9 ElasticSearch 学习记录之ES短语匹配基本用法

10 ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理

11 ElasticSearch 学习记录之集群分片内部原理

12 ElasticSearch 学习记录之ES如何操做Lucene段

13 ElasticSearch 学习记录之如任何设计可扩容的索引结构

14 ElasticSearch之 控制相关度原理讲解







高亮搜索
ES 经过在查询的时候能够在查询以后的字段数据加上html 标签字段,使文档在在web 界面上显示的时候是由颜色或者字体格式的
GET /product/_search
{
  "size": 200, 
  "query": {
     "match_phrase": {
       "name": "上海"
     }
  },
  "highlight": {
    "fields": {
      "name": {
        
      }
    }
  }
}

被highlight修饰的字段,在搜索以后是这样的, 这个部分包含了 name 属性匹配的文本片断,并以 HTML 标签 封装html

"_source": {
      "attribute": 13,
      "averageScore": 0,
      "bussinessProductId": "2-1641",
      "dayNum": 1,
      "departureCitys": [
        "北京"
      ],
      "name": "上海1天自由行",
      "passbyCities": [
        "上海"
      ],
      "picture": "img/M00/00/05/CiAAxlnA6BKAPzgOAAPzETc6-UU510.jpg",
      "productId": 1641,
      "productSource": 2,
      "productThemes": [],
      "themes": [],
      "weight": 1021
    },
    "highlight": {
      "name": [
        "<em>上</em><em>海</em>1天自由行"
      ]
    }
  }