ES highlight测试

Lucene提供3种高亮功能:highlighter, fast-vector-highlighter or postings-highlighter.

  • highlighter: 最基本的、默认的高亮器。需要对查询的_source进行二次Reanalyzed,速度在3种高亮器里最慢,但不需要额外存储index。
  • postings-highighlighter: setting中需要配置"index_options" : "offsets",postings优缺点。速度中等,但是在phrase(短语查询) query结合的查询中,会把查询短语的每个词单独高亮显示。
  • fast-vector-highligh: setting中需要配置"term_vector" : "with_positions_offsets",速度最快,但是占用存储空间最大。典型空间换速度。

测试

  • mapping

    1. curl -XPUT ‘localhost:9200/hl-test‘ -d ‘{
    2. "settings": {
    3. "index": {
    4. "number_of_shards": 2,
    5. "number_of_replicas": 0
    6. }
    7. },
    8. "mappings": {
    9. "tm": {
    10. "properties": {
    11. "content1": {
    12. "type": "string",
    13. "analyzer" : "default",
    14. "store": "yes",
    15. "term_vector" : "with_positions_offsets"
    16. },
    17. "content2": {
    18. "type": "string",
    19. "analyzer" : "default",
    20. "store": "yes",
    21. "index_options" : "offsets"
    22. },
    23. "content3": {
    24. "type": "string",
    25. "store": "yes",
    26. "analyzer" : "default"
    27. },
    28. "content4": {
    29. "type": "string",
    30. "store": "yes",
    31. "index": "not_analyzed"
    32. }
    33. }
    34. }
    35. }
    36. }‘

    note

    offsets
    Store docs, freqs, positions, and the start and end character offsets of each term in the original string. This information is used by the postings >highlighter but is disabled by default.
    来源: https://www.elastic.co/guide/en/elasticsearch/guide/current/stopwords-phrases.html#index-options

  • 测试数据
    curl -XPUT ‘http://localhost:9200/hl-test/tm/1‘ -d ‘{
    "content1": "In the above case, the content field will be highlighted for each search hit (there will be another element in each search hit, called highlight, which includes the highlighted fields and the highlighted fragments)."
    }‘
  • Query DSL

    1. {
    2. "query": {
    3. "term": {
    4. "content1": "the"
    5. }
    6. },
    7. "highlight": {
    8. "pre_tags": [
    9. "<tag1>"
    10. ],
    11. "post_tags": [
    12. "</tag1>"
    13. ],
    14. "fields": {
    15. "content1": {
    16. "type": "fvh",
    17. "fragment_size": 30,
    18. "number_of_fragments": 1,
    19. "force_source": true,
    20. "order": "score",
    21. "fragment_offset": 3,
    22. "no_match_size": 2
    23. },
    24. "content2": {
    25. "fragment_size": 250,
    26. "number_of_fragments": 0
    27. },
    28. "content3": {
    29. "fragment_size": 250,
    30. "number_of_fragments": 3,
    31. "force_source": true
    32. }
    33. }
    34. }
    35. }

来自为知笔记(Wiz)

时间: 2024-10-29 19:08:02

ES highlight测试的相关文章

es学习(三):分词器介绍以及中文分词器ik的安装与使用

什么是分词 把文本转换为一个个的单词,分词称之为analysis.es默认只对英文语句做分词,中文不支持,每个中文字都会被拆分为独立的个体. 示例 POST http://192.168.247.8:9200/_analyze { "analyzer":"standard", "text":"good good study" } # 返回 { "tokens": [ { "token":

为 Vue 项目写单元测试方法详解

本文和大家分享的主要是为 Vue 项目写单元测试相关内容,一起来看看吧,希望对大家学习Vue.js 有所帮助. 众所周知,Vue.js 是一个非常牛逼的 JavaScript 框架,对于创建复杂功能的前端项目是非常有用的.不管是什么项目,检查应用是否正常工作,运行是否为预期,是尤为重要的.然而,为了保证业务正常运行,我们的项目,每做一次更新,都要对所有功能做一次回归测试,随着项目的增大,重复的测试工作越来越多,越来越乏味,手工测试将变成一个恶心的事情.正因如此,自动化测试诞生了,它可以随时监测我

Elasticsearch在windows上安装好了之后怎么使用?

windows 10上安装Elasticsearch过程记录 一.安装和配置Java JDK1.下载:http://download.oracle.com/otn ... 4.exe2.设置环境变量:(1)点击[系统变量]下的[新建]按钮变量名: JAVA_HOME 变量值: C:\Program Files\Java\jdk1.8.0_92(2)按照同样的方式创建系统变量classpath变量名: classpath变量值: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\

这个代码给所有带有name属性的链接加了一个背景色

jQuery起点教程之使用选择器和事件jQuery提供两种方式来选择html的elements: 第一种是用CSS和Xpath选择器联合起来形成一个字符串来传送到jQuery的构造器(如:$("div > ul a")): 第二种是用jQuery对象的几个methods(方法).这两种方式还可以联合起来混合使用. 为了测试这些选择器,我们来试着在我们starterkit.html中选择并修改第一个ordered list. 一开始,我们需要选择这个list本身,这个list有一个

Elasticsearch Java API简介

加入依赖 我本地的Elasticsearch的版本是2.1.0,因此加入相应的maven依赖 <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>2.1.0</version> </dependency> 创建Client Elasticsearch Client分为N

Restful认识和 IK分词器的使用

什么是Restful风格 Restful是一种面向资源的架构风格,可以简单理解为:使用URL定位资源,用HTTP动词(GET,POST,DELETE,PUT)描述操作. 使用Restful的好处: 透明性,暴露资源存在. 充分利用 HTTP 协议本身语义. 无状态,这点非常重要.在调用一个接口(访问.操作资源)的时候,可以不用考虑上下文,不用考虑当前状态,极大的降低了复杂度. Restful的典型特征: ① Server提供的RESTful API中,URL中只使用名词来指定资源. “资源”是R

百亿级数据10万字段属性的秒级检索解决方案以及实现

课程下载地址: https://pan.baidu.com/s/1zr5riwZtdRgnVQRetQnG7A 提取码: 5xg8 平台型创业型公司,会有多个品类,像生活信息服务类网站的有:58同城,赶集网等等,他们的类别非常多,每个垂直领域都会分为很多类别,每 个类别下又分很多子类别,每个类别或者子类别的属性都不一样,像这么庞大的数据,字段属性可以达到10万级别,同时数据量可以达到百亿级别 ,很多异构数据的存储需求.基于这么庞大的数据,我们需要达到秒级查询. 那么我们该怎么设计呢?本课程讲手把

ELK分析nginx日志(2)

目录 1.ES基本操作 ES&kibana 索引操作 增删改查 3.nginx 自定义提取字段 去除字段 时间轴 1.ES基本操作 Elasticsearch的概念 索引 ->类似于Mysql中的数据库 类型 ->类似于Mysql中的数据表 文档 ->存储数据 ES&kibana 测试Web接口 浏览器访问 Kibana操作:GET /出现下图所示的效果,说明kibana和ES联动成功. 索引操作 //创建索引 PUT /zhang //删除索引: DELETE /zha

Mali GPU OpenGL ES 应用性能优化--测试+定位+优化流程

1. 使用DS-5 Streamline定位瓶颈 DS-5 Streamline要求GPU驱动启用性能测试,在Mali GPU驱动中激活性能测试对性能影响微不足道. 1.1 DS-5 Streamline简介 可使用DS-5 Streamline从CPU和Mali GPU中实时收集性能计数器,然后以图形方式显示这些计数器,其主要功能如下:     ? 收集计数器--从CPU和Mali GPU中     ? 保存收集到的计数器数据以供回放     ? 查看显示GPU活动.GPU活动和Framebu