首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

ElasticSearch实战系列02:中文+拼音混合检索,并高亮显示

本文导读 本文仿照QQ的用户搜索,搭建一个中文+拼音的混合检索系统,并高亮显示检索字段。...【ps:留言区附完整版项目源码地址】 01 项目简介 本项目基于ElasticSearch 7.7.1,analysis-pinyin 7.7.1,参考QQ的用户搜索效果,完成一个中文+拼音的混合检索系统...中文+首字母+全拼检索 其实QQ的用户检索是有很多限制的,比如说首字母检索时,必须从第一个字开始匹配【输入“gz”,可以检索到“关注我”,但是不能检索到“我关注”】; 再比如说全拼+首字母检索时,全拼必须在前面...【输入“guanz”,可以检索到“关注我”,但是输入“gzhu”,是不能检索到结果的】; 至于为什么会有如此限制,个人猜测是考虑检索性能(PS:欢迎留言讨论)。...1.2 检索需求描述 参考QQ,列出“用户检索系统”的需求如下: 1)支持首字母检索; 2)支持首字母+全拼检索; 3)支持中文+首字母+全拼混合检索; 4)检索词有中文,则必须包含; 5)高亮显示检索命中词

3.8K20

Fabric.js 自定义控件

本文简介 带尬猴,我是德育处主任 虽然 Fabric.js 提供的基础功能已经很丰富了,但有时难免需要定制一些需求。比如本文要讲的 『自定义控件』。...掌握创建自定义控件这个功能,能够创建更加精美和实用的图形应用程序,提高用户体验和用户满意度。 尽管 Fabric.js 的文档很一般,但 demo 还挺丰富。...如果你对这些代码还不太熟悉的话,推荐阅读一下 《Fabric.js 中文入门教程》 创建删除按钮 创建自定义控件通常有一下2步操作: 创建控件 添加功能事件 Fabric.js 提供了 fabric.Control...Custom controls, render and actions 的代码 前面讲到的就是创建自定义控件的基本方法, Fabric.js 官网收录的 Custom controls, render.../js/fabric.js"> var canvas = this.

4.7K70

如何在js文件中写加载Applet控件js与jsp分离技术)

如何在js文件中写加载Applet控件js与jsp分离技术) 我们在写代码的时候,一般喜欢将JSP和JS实现分离开,将页面部分的代码写在.jsp结尾的文件中...那么我们有没有办法将需要写到jsp页面上的代码写到js文件中呢?...我现在举个例子,假如我们的页面上需要加载一个applet控件,但这个applet的加载是有条件的,只有在某种情况下,控件才会加载,而其它情况则不加载(这样子能加载页面的加载速度)。...就好比淘宝的截屏功能,我们在正常聊天的时候,控件是不加载的,只有点击了截屏功能的时候,控件才会被加载和安装。 这种情况,就需要我们预先不加载applet控件,而是在javascript控制加载控件了。...由于js页面不知道jsp在哪个地方加载js文件,所有像原先那样写一个相当位置的div是不大妥当的,而加载一个固定位置的div,则无论jsp在哪个地方加载js文件,都可以保证div想固定的地方显示了。

7K40

Vue学习笔记之moment.js日期处理控件

0x00 概述 本文主要记录moment.js日期控件在vue中的使用; moment可以方便的计算自然月或者自然年份,避免使用固定天数或者月份计算导致结束日期错乱问题。...0x01 安装moment插件 npm install moment --save  在package.json中查看(moment插件安装成功) 在Vue的JS部分导入moment import moment...天 moment("2020-03-25 00:00:00").add(5, "days").format('YYYY-MM-DD HH:mm:ss');//2020-03-30 00:00:00 js...通过Moment.js让数值秒值和时分秒格式相互转化 / / 1、把时分秒格式转化为数值型的秒值 <script src="https://momentjs.com/downloads/moment.<em>js</em>...console.log(time) //3661 // 2、把数值型的秒值转化为时分秒格式 <script src="https://momentjs.com/downloads/moment.js

12.8K20

JS如何为表单聚焦控件设置醒目的样式

前言 在用户填写表单时,为了让用户集中精力填写或某一个表单控件,可以通过设置此空间的样式来达到目的 那这样的效果如何实现呢,如下示例所示的 示例展示 (https://coder.itclan.cn/fontend.../js/26-set-form-style/) 原生Js实现 如下是简易的示例代码,要想实现这一个效果,必须要知道onfocus和onblur,前者是聚焦的回调事件,而后者是控件失去焦点的回调 在一个网页里...,永远都只能有一个控件获得焦点,因此需要遍历所有的控件,为它们定义相同的onfocus以及onblur的逻辑 当控件获得焦点时,为它设置独特的边框样式,否则就恢复原有的边框样式 function init...() { var f = document.form[0]; // 获取表单DOM var elements = f.elements; // 获取所有的控件数组 var str...lang="scss" scoped> .wrap { text-align: center; margin: 20px 0 20px 0; } 总结 无论是原生js

7.1K50

拼音搜索的简单实现方案

文章时间:2020年5月28日 13:37:18 解决问题:在搜索框搜索某些东西的时候,我们经常输入了拼音,依然也可以显示搜索出的文字。...所用插件:ChinesePY.js 投稿人:梦群同学 ChinesePY 嵌入使用方法 下载完成后在项目 main.js 中引入 使用方法及返回格式 手写自己的根据拼音查询 公共函数 使用 ChinesePY...嵌入使用方法 首先在Github下载ChinesePY.js [下载地址] 下载完成后在项目 main.js 中引入 import Pinyin from '....ZH (注意 简拼返回值为大写) Pinyin.GetQP('中国') // 获取全拼 -> zhongguo Pinyin.GetHP('中国') // 获取混拼 -> zhongg 手写自己的根据拼音查询...RegExp(queryString, 'gi') return rgx.test(jp) || rgx.test(qp) || rgx.test(hp) } // restaurant -> 需要检索的字符串

1.7K30

【分享】 纯 js 表单控件 —— 让 “增改查” 更轻松!

拖拽控件、手写、js创建还是第三方控件(包括js版)? 以前用服务器控件写了一套表单控件,用起来感觉也挺方便的,只是效率太低,太占用服务器的资源。...实现方式: 1、 js + json + 第三方js脚本、控件 2、 json对表单进行描述,比如标题、控件类型、控件大小、下拉列表框的item如何填充等。...4、 Js脚本根据json的描述,创建表单(table形式),创建表单里面的控件(比如文本框),然后对表单和控件进行修饰。 5、 提取用户输入的数据,然后进行验证。...答:搜索了一下js表单控件,没有发现特出名的。当然了肯定有做好的,只是我没有发现。再有也不是完全自己写的,有很多第三方现成的js拿来用的,比如my97。...因为是纯js的表单控件,所以服务器控件形式的在线编辑器是不好用了。 4、 数据验证。这个好像有很多已经很成熟的了,只是一直没时间研究。目前用的是一个比较古老的js脚本,出处已经不记得了。 ​

3.4K81

【自然框架】js版的QuickPager分页控件 V2.0

(附带24套css效果) 3、  Js的方式创建分页UI,不占用服务器资源。 4、  可以通过插件的方式更换各部分js代码。如果自带的js代码不能满足您的需求,那么您自己写的插件实现需要的效果。...因为用js和ajax,所以不支持搜索引擎的收录。 2、  不支持服务器端控件,比如GridView。...虽然属性有很多,但是最低只需要设置两个属性——总记录数和存放分页控件的容器ID。   不设置总记录数,就不知道有多少页,页号导航就做不出来,UI也没法控制。而总记录数又没法设置默认值。   ...存放分页控件的容器ID,简单的说就是DIV的ID,当然也可以放在td里面,只要设置好ID就行。如果要实现上下两个分页UI,那么只需要把这两个ID用半角逗号分割,设置上就行。 2、  设置事件。   ...Js的事件处理真的是太简单了,就跟属性一样。弄个function就可以了。

2.4K80

MySQL模糊查询性能优化

6种条件,如果你的场景是全都要支持,并且是 大用户量, 接口qps高,海量的数据检索量,那就不要在数据库上做任何挣扎了,你需要的是一个 全文检索引擎。...就是KM和TAPD那种效果: [1526286645_33_w419_h273.png] --- 首先KM和TAPD都是通过后台给前端生成一个js文件,由前端去做模糊查找,这样比较经济实惠,没有后台查询损耗...,定期更新js文件即可。...MySQL支持三种模式的全文检索模式:自然语言模式(IN NATURAL LANGUAGE MODE),即通过MATCH AGAINST 传递某个特定的字符串来进行检索。...,可以通过如下参数控制: 查询扩展模式(WITH QUERY EXPANSION), 这种模式是自然语言模式下的一个变种,会执行两次检索,第一次使用给定的短语进行检索,第二次是结合第一次相关性比较高的行进行检索

31.6K2216

呼叫中心项目学习总结

Exception ex) { throw new Exception("系统出错~"+ex.Message); } 六、拼音检索与复合检索技术...  (1)拼音检索   拼音检索两种实现方式:实时检索(速度慢);增加一个拼音字段(速度快,有冗余,必要的冗余是可以的)。...某个条件不勾选的时候应该禁用控件!...在VS中实现树状结构最简单的就是利用TreeView控件!深入TreeView,我们会发现在选择项发生变化的时候在TextBox中显示当前选择项的值。AfterSelect事件。...简单易用的控件,特别是Table控件,非常方便字段在报表上的排列 灵活的可定制性,用XML来描述一个报表相关的一切 高度可编程性,在你的项目中,甚至不需要有一个报表文件,通过代码就可以实现报表生成、

2.9K31

基于Jquery WeUI的微信开发H5页面控件的经验总结(2)

,如下JS代码所示。      ..., 'success');      //在界面上找到对应控件ID,移除控件      RemoveImg();      }      else {      $.toast("操作失败:"www.huiyinpp3zc.cn...10)查询即时列表展示      有时候,我们需要根据查询的条件,对数据库的信息进行检索,然后即时的显示在列表中,供选择使用,如下界面所示。      ...上图是我项目中,根据拼音码或者名称对药品进行检索,返回的数据进行显示的处理。      为了使用搜索栏,我们使用了微信WeUI定义的搜索栏样式,以下是界面定义的搜索栏DIV层,如下代码。      ...主要就是监控Input控件的内容变化,进行及时的查询和内容展示。

1.5K20

探索命名之美(二)

大家在编码或者读代码的过程中,对于什么样的命名是好的命名可能认知不是特别清晰,但是对于什么样的命名是坏的命名应该一目了然,他们包括: 命名里哪些是禁忌 拼音拼音是命名中万恶之首。...大家对于程序的固有认知是它是基于英语系的命名标准,所以如果用拼音、甚至拼音缩写,会让读代码的人一头雾水,无从下手。...而且一旦使用数字进行命名,后续如果需要修改控件顺序会发生灾难,就需要人为建立button1是第二个button的怪异映射。 含义错误。 这个经常发生在单词量少的同学身上。...个人认为iOS项目中使用驼峰比较多,前端项目中(js)使用下划线比较多。 说了不少大家在编码时候的坏习惯,也顺便说下自己在编码时的好习惯以及方法,供大家参考。 命名应该遵循的规则 具体。...(本章节中所有命名来源于苹果SDK) UI控件:功能描述+类型,例如 menuButtons 常量:描述对象+类型,例如rowHeight 文件名:通常会加前缀,例如UIButton 通知:前缀+

40820
领券