问题描述

`1.es 统计高亮命中次数。
es使用中,只会返回高亮的结果数,是不会返回这个字段命中了多少
次,例如。

百度里面的这个第一条信息就命中了3次。
es高亮返回体,搜索信息两个字,命中两个字也是分别打标签。
1.1 第一种情况

<em>信</em><em>息</em>

这时候命中信息只能算命中一次,还有一种情况是
1.2 第二种情况

<em>信</em>

只命中了单个字。这时候可以使用正则统计命中了多少次。

解决方案:

如下解决方案:

    /*** 统计高亮次数,<em></em><em></em>算一次** @return*/private int countHits(String temp) {int num = 0;if (StringUtils.isEmpty(temp)) {return num;}String regex = "((<em>[^</]*</em>)+)";Pattern p1 = Pattern.compile(regex);
// 指定要匹配的内容Matcher m = p1.matcher(temp);while (m.find()) {num++;}return num;}

这里解释下该正则含义
(( )+)含义为匹配标签一次或者多次,也就涵盖了上面的1.1 、1.2两种情况 ,"[^</]*"表示标签里面的内容不是</,否则任何内容都只是匹配一次。

总结

如果能对你们有帮助,可以点个赞,经过测试可行,
还有

DisMaxQueryBuilder disMaxQueryBuilder = QueryBuilders.disMaxQuery();
disMaxQueryBuilder.add(QueryBuilders.matchQuery("a", search));
disMaxQueryBuilder.add(QueryBuilders.matchQuery("b", search));
disMaxQueryBuilder.add(QueryBuilders.matchQuery("c", search));

DisMaxQueryBuilder 可以使用dismaxquery查询多字段,多个字段之间是竞争关系,返回分数高的如果同时命中,比较符合多数场景。

es统计高亮命中次数相关推荐

  1. 统计123出现次数_如何使用 count 统计词条出现次数?

    如何获取数据最多的3个分类?如何使用count统计词条出现次数?今天番茄加速跟大家讲一下. 如何快速拿到数据最多的 3 个分类? 读入数据: df = pd.read_csv("IMDB-M ...

  2. wordpress中非插件统计文章浏览次数

    非插件统计文章浏览次数 1.在主题的 functions.php文件的最后一个 ?> 前面添加下面的代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...

  3. android应用启动次数,应用统计: APP启动次数,软件用时统计,用量提醒

    编辑点评 让偷玩手机的孩子无所遁形 应用统计: APP启动次数,软件用时统计,用量提醒 介绍 应用统计: APP启动次数,软件用时统计,用量提醒 应用统计又称屏幕时间,用量分析,时间管理,是一个记录用 ...

  4. java 计算i 出现的次数_JAVA算法:按照给定的段落统计单词出现次数(JAVA代码)...

    https://blog.csdn.net/seagal890/article/details/92067644 JAVA算法:按照给定的段落统计单词出现次数(JAVA代码) 写一个 JAVA程序以统 ...

  5. 每天一个小程序—0004题(统计单词出现次数)

    第 0004 题: 任一个英文的纯文本文件,统计其中的单词出现的个数. 先给出我一开始写得,只能说非常不优美,一个一个字符搞得... 1 f = open('num.txt') 2 word = [] ...

  6. pta统计字符出现次数

    -10 统计字符出现次数 (20 分) 本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数. 输入格式: 输入第一行给出一个以回车结束的字符串(少于80个字符):第二行输入一个字符. 输出 ...

  7. python统计文章单词次数_Python实现的统计文章单词次数功能示例

    本文实例讲述了Python实现的统计文章单词次数功能.分享给大家供大家参考,具体如下: 题目是这样的:你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认 ...

  8. 【备忘】es统计用户留存数据,公式都一样,语句和mysql区别很大

    //es统计用户留存数据,公式都一样,语句和mysql区别很大 {"query": {"bool": {"must": [{"ra ...

  9. 用C语言实现汉诺塔的移动过程并且统计移动的次数

    用C语言实现汉诺塔的移动过程以及移动的次数 题目说明 一共有三个柱子,在一个柱子上穿有若干个圆盘,这些圆盘按下大上小叠放,将这个柱子上的圆盘按大小顺序重新摆放在另一根柱子上.并且规定,在小圆盘上不能放 ...

最新文章

  1. 将构件发布到私有的nexus maven 仓库
  2. Linux inotify功能及实现原理【转】
  3. JavaScript事件与jQuery方法
  4. SAP 电商云 Spartacus Maintenance branch
  5. c++实现插入和冒泡排序
  6. 十大常用个人linux,Linux—常用十大命令
  7. centos7 安装mysql_Centos7安装最新版本的MySQL
  8. 性能比拼!超详细的Tengine GEMM矩阵乘法汇编教程
  9. 数据库实体关系图(ERD)
  10. java docx4j 合并word_如何使用docx4j在word中添加合并字段?
  11. nginx php fastcgi curl locahost 48 timeout
  12. 华为云服务器怎么样?华为云服务器有什么优势?
  13. Android7.0以上 安装Ca证书
  14. STM32MP157开发板调试笔记
  15. u-boot-2012.04.01移植到TQ2440(八):支持烧写yaffs文件系统
  16. 【学习总结】VIO初始化学习1:Monocular Visual–Inertial State Estimation With Online Initialization and Camera–IMU
  17. 财产、人身、养老保险公司
  18. IDEA设置Working directory及作用
  19. Jmeter测试工具使用教程
  20. Kettle 读取MySQL数据

热门文章

  1. squirrelmail(小松鼠web邮件系统)
  2. nacl溶解度_科普下氯化钠溶解度(含例题详解)
  3. 第五章 生活无处不数据,大数据真的能算命?
  4. newman执行测试_Newman的使用讲解
  5. 手机QQ2008下载地址
  6. TCP序列号和确认号
  7. 毛玻璃,磨砂玻璃材质,shader笔记
  8. 理解和使用工具(二)-文件系统Heirarchy
  9. js常见创建对象的三种方式
  10. python 如何调试uc浏览器_Python爬虫教程-10-UserAgent和常见浏览器UA值