es统计高亮命中次数
问题描述
`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统计高亮命中次数相关推荐
- 统计123出现次数_如何使用 count 统计词条出现次数?
如何获取数据最多的3个分类?如何使用count统计词条出现次数?今天番茄加速跟大家讲一下. 如何快速拿到数据最多的 3 个分类? 读入数据: df = pd.read_csv("IMDB-M ...
- wordpress中非插件统计文章浏览次数
非插件统计文章浏览次数 1.在主题的 functions.php文件的最后一个 ?> 前面添加下面的代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...
- android应用启动次数,应用统计: APP启动次数,软件用时统计,用量提醒
编辑点评 让偷玩手机的孩子无所遁形 应用统计: APP启动次数,软件用时统计,用量提醒 介绍 应用统计: APP启动次数,软件用时统计,用量提醒 应用统计又称屏幕时间,用量分析,时间管理,是一个记录用 ...
- java 计算i 出现的次数_JAVA算法:按照给定的段落统计单词出现次数(JAVA代码)...
https://blog.csdn.net/seagal890/article/details/92067644 JAVA算法:按照给定的段落统计单词出现次数(JAVA代码) 写一个 JAVA程序以统 ...
- 每天一个小程序—0004题(统计单词出现次数)
第 0004 题: 任一个英文的纯文本文件,统计其中的单词出现的个数. 先给出我一开始写得,只能说非常不优美,一个一个字符搞得... 1 f = open('num.txt') 2 word = [] ...
- pta统计字符出现次数
-10 统计字符出现次数 (20 分) 本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数. 输入格式: 输入第一行给出一个以回车结束的字符串(少于80个字符):第二行输入一个字符. 输出 ...
- python统计文章单词次数_Python实现的统计文章单词次数功能示例
本文实例讲述了Python实现的统计文章单词次数功能.分享给大家供大家参考,具体如下: 题目是这样的:你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认 ...
- 【备忘】es统计用户留存数据,公式都一样,语句和mysql区别很大
//es统计用户留存数据,公式都一样,语句和mysql区别很大 {"query": {"bool": {"must": [{"ra ...
- 用C语言实现汉诺塔的移动过程并且统计移动的次数
用C语言实现汉诺塔的移动过程以及移动的次数 题目说明 一共有三个柱子,在一个柱子上穿有若干个圆盘,这些圆盘按下大上小叠放,将这个柱子上的圆盘按大小顺序重新摆放在另一根柱子上.并且规定,在小圆盘上不能放 ...
最新文章
- 将构件发布到私有的nexus maven 仓库
- Linux inotify功能及实现原理【转】
- JavaScript事件与jQuery方法
- SAP 电商云 Spartacus Maintenance branch
- c++实现插入和冒泡排序
- 十大常用个人linux,Linux—常用十大命令
- centos7 安装mysql_Centos7安装最新版本的MySQL
- 性能比拼!超详细的Tengine GEMM矩阵乘法汇编教程
- 数据库实体关系图(ERD)
- java docx4j 合并word_如何使用docx4j在word中添加合并字段?
- nginx php fastcgi curl locahost 48 timeout
- 华为云服务器怎么样?华为云服务器有什么优势?
- Android7.0以上 安装Ca证书
- STM32MP157开发板调试笔记
- u-boot-2012.04.01移植到TQ2440(八):支持烧写yaffs文件系统
- 【学习总结】VIO初始化学习1:Monocular Visual–Inertial State Estimation With Online Initialization and Camera–IMU
- 财产、人身、养老保险公司
- IDEA设置Working directory及作用
- Jmeter测试工具使用教程
- Kettle 读取MySQL数据