Elasticsearch 7.x 深入【8】Suggester

1. 借鉴

极客时间 阮一鸣老师的Elasticsearch核心技术与实战
Elasticsearch 5.x Suggester详解
店名大全 -_-||
官方文档 search-suggesters
详解编辑距离(Edit Distance)及其代码实现
Edit Distance 算法实现及其设计原理
leetcode edit-distance
elasticsearch suggest实现搜索词自动补全
Elasticsearch之建议器suggester
Elasticsearch搜索Suggest功能优化
【Elasticsearch】7.2 自动补全、纠错、拼音搜索
elasticsearch使用more_like_this实现基于内容的推荐
Field datatypes(2)
elasticsearch补全功能之只补全筛选后的部分数据context suggester
Elasticsearch学习笔记5: suggest实现搜索补全
Phrase Suggester
lucene底层数据结构——FST,针对field使用列存储,delta encode压缩doc ids数组,LZ4压缩算法
关于Lucene的词典FST深入剖析
FST
Completion Suggester.md

2. 开始

Suggester,顾名思义,即用户输入后,进行自动补全或者纠错,并给出相应的结果。
其原理是将输入分解为token,然后再索引中查找相似的关键词(term)并返回
在es里面有四种Suggester:

  • Term Suggester
  • Phrase Suggester
  • Completion Suggester
  • Context Suggester

我们逐一来看下

数据准备:使用到的数据请看这里

Term Suggester

The term suggester suggests terms based on edit distance. The provided suggest text 
is analyzed before terms are suggested. The suggested terms are provided per 
analyzed suggest text token. The term suggester doesn’t take the query into account 
that is part of request.

term suggester基于编辑距离算法实现。在提供建议之前,对输入的文本进行分析。

我们在索引中有一个“三生石工艺坊批发店”这个店铺,我们基于这个来查询。

  • 我们首先来看下它的分词情况:[这里为啥是ik_smart而不是ik_max_word呢?因为我指定的search_analyzer是ik_smart,在suggest查询是,默认使用search_analyzer分词匹配,当然也可以自己指定,这个在官方文档上有描述,下面我会将它的选项列举出来,稍安勿躁]
GET /store_suggest/_analyze
{
  "analyzer": "ik_smart",
  "text": ["三生石工艺坊批发店"]
}
  • 嗯,我们来看下它的token[为了避免拉的过长,我只保留了token字段]
{
  "tokens" : [
    { "token" : "三生石", },
    { "token" : "工艺", },
    { "token" : "坊", },
    { "token" : "批发店", }
  ]
}
  • 可以看到上面我们分词的结果中有三生石,那接下我故意输错为“三声石”,让我们来构建一个term suggester,看下它会提示我们什么
GET /store_suggest/_search
{
  "suggest": {
    "term-suggestion": {
      "text": "三声石", // 我们输入的内容
      "term": {
        "field": "name", // 指定哪个字段
        "suggest_mode": "missing", // 参数1
        "min_word_length": 2 // 参数2
      }
    }
  }
}
  • 我们来看下结果
{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 0,
      "relation" : "eq"
    },
    "max_score" : null,
    "hits" : [ ]
  },
  "suggest" : {
    "term-suggestion" : [
      {
        "text" : "三声",
        "offset" : 0,
        "length" : 2,
        "options" : [
          {
            "text" : "三生",
            "score" : 0.5,
            "freq" : 1
          }
        ]
      },
      {
        "text" : "石",
        "offset" : 2,
        "length" : 1,
        "options" : [ ]
      }
    ]
  }
}
  • score是通过“编辑距离算法”实现的,可以看到我借鉴的文章,关于编辑距离的,讲的挺好。
  • 可以看到“三声”提示我们应该为“三生”,我在查询时候使用了几个参数,我们来解释一下
  • 这些参数是四种suggester查询的公共参数
字段名称 解释 默认值
text      输入内容 -
field 作用的字段 -
analyzer 使用的分词器 search analyzer
size 使用的分词器 每个建议文本返回的最大提示数量
sort 如何排序:
score:首先按分数排序,然后按文档频率排序,最后按关键词本身排序。
frequency:首先按文档频率排序,然后是相似度评分,最后是关键词本身。
-
suggest_mode 模式:
missing:如果索引中已经存在,就不提供建议
popular:推荐出现频率更高的词
always:无论是否存在,都提供建议
-
  • 下面这些是Term Suggester独有的参数
字段名称 解释 默认值
max_edits                                               编辑距离:只能是1和2之间的值。任何其他值都会导致抛出错误的请求。 -2             
prefix_length 必须匹配的最小前缀字符的数量。 1
min_word_length 建议的文本术语必须具有的最小长度才能被包括在内。 4
string_distance 要使用哪个字符串距离实现来比较建议的term的相似性
internal:默认值,基于damerau_levenshtein,对于比较索引内的词的字符串距离进行了高度优化
damerau_levenshtein:基于Damerau-Levenshtein算法
levenshtein:基于Levenshtein edit distance算法
jaro_winkler:基于Jaro-Winkler算法
ngram: 基于character n-grams算法
internal
shard_size 设置要从每个分片中检索的建议的最大数量。在reduce阶段,只根据size选项返回前N个建议。默认size选项,将这个值设置为大于size的值,这有助于获得更准确的文档频率,以牺牲性能为代价获得拼写更准确。由于term是在分词时产生的,因此分片级的文档中拼写正确的频率可能并不精确。增加这值将使这些文件频率更精确。 -
max_inspections 一个因子,用于与shards_size相乘,以便检查shard级别上的更多候选拼写更正。以牺牲性能为代价来提高精度。 5
min_doc_freq 建议中出现的文档数量的最小阈值。这可以指定为绝对数量,也可以指定为文档数量的相对百分比。这可以通过只建议高词频的term来提高质量。默认为0f,未启用。如果指定的值大于1,则该数字不能是小数。这个选项使用分片级文档频率。 0f
max_term_freq 建议文本标记可以存在的文档数量的最大阈值,以便将其包括在内。可以是表示文档频率的相对百分比数(例如0.4)或绝对数。如果指定的值大于1,则不能指定分数。这可以用来排除高频术语(通常拼写正确)的拼写检查。这也提高了拼写检查的性能。这个选项使用碎片级文档频率。 0.01

Phrase Suggester

The phrase suggester adds additional logic on top of the term suggester to select entire 
corrected phrases instead of individual tokens weighted based on ngram-language 
models. In practice this suggester will be able to make better decisions about which 
tokens to pick based on co-occurrence and frequencies.

phrase suggester 在 term suggester 之上添加额外的逻辑以选择整个经校正的短语,而不是基于 ngram-language 模型加权的单个 token 。

  • 我们构建一个看下效果
GET /store_suggest/_search
{
  "suggest": {
    "phrase-suggestion": {
      "text": "三生时工艺坊批发店",
      "phrase": {
        "field": "name",
        "max_errors": 4,
        "confidence": 0,
        "direct_generator": [{
          "field": "name",
          "suggest_mode": "missing"
        }],
        "highlight": {
          "pre_tag": "
                    
                    
  • 浪潮 M5系列服务器IPMI无法监控存储RAID卡问题. Songxwn 硬件服务器服务器运维
    简介浪潮的M5代服务器,可能有WebBMC无法查看存储RAID/SAS卡状态的情况,可以通过以下方式修改。修改完成后重启BMC即可生效。ESXiIPMITools使用:https://songxwn.com/ESXi8_IPMI/(Linux也可以直接使用)Linux/ESXiIPMITool下载:https://songxwn.com/file/ipmitoolWindows下载:https:/
  • 5月8日盘前提示:维持短期可以操作到下周二左右的判断,重个股轻指数 九命_猫妖
    大盘:消息面。取消境外投资者额度限制,这个长线利好股市,短期影响不大,因为3000亿额度只用了1/3。额度本来就够用。走势看,昨天缩量横盘,走的还算中规中矩,近期一直弱势的次新股走势较强,前期强势股京威股份、光大嘉宝等跌停,由此判断市场还是存量博弈的市场,震荡是市场的主基调。维持短期可以操作到下周二左右的判断。下周后半段震荡回调的概率较高。思路:短期重个股轻指数行业和个股:物联网行业有利好,关注下
  • word字号和mathtype磅值关系及批量修改 小铁匠-Ma office小技巧经验分享
    word字号和mathtype磅值关系及批量修改1.字号与磅值关系字号「八号」对应磅值5字号「七号」对应磅值5.5字号「小六」对应磅值6.5字号「六号」对应磅值7.5字号「小五」对应磅值9字号「五号」对应磅值10.5字号「小四」对应磅值12字号「四号」对应磅值14字号「小三」对应磅值15字号「三号」对应磅值16字号「小二」对应磅值18字号「二号」对应磅值22字号「小一」对应磅值24字号「一号」对应
  • 天猫超市优惠获取渠道,天猫超市内部优惠劵领取方法使用教程 氧惠全网优惠
    天猫超市是一个不错的购物平台,满足用户所需,基本次日达,很方便的购物平台,那么有人问我,天猫超市优惠获取渠道在哪?怎么能够优惠的购买,今天分享给大家;1、天猫超市优惠券抢好券:天猫超市首页每天可以领取满199减30、满235减35、满299减50、满399减60、满166减30等优惠券,领劵方法复制下条口令打开淘宝进入领劵会场;隐藏神券、实时爆款、天天更新!戳>(CZ9185ZatcdhNADlJ
  • 男人请珍惜十六七岁陪在你身边的女孩吧 小朋友嘿哈
    你相信那种从校服到婚纱的爱情吗。01朋友阿伟18岁的时候就是一混混,放学不是和这个学校的学生约架,就是那个小弟被欺负了要为此出头,溜冰场上看谁不顺眼,一个字:打。当然,放学蹲点泡妞是常事,看到这个学生妹浓妆艳抹,搭讪,看到那个前凸后翘的,搭讪。阿伟也不例外,他说:“我当时和几个兄弟在学校后门的小卖部抽烟,姗姗背着双肩背包,扎着马尾辫,看到我们几个混混有些害怕的低着头快步走过我们面前,那时候我在想啊
  • 你之所以胖,可能是因为小时候发生这件事!还不赶快甩锅 周围_5d19
    通常,我们认为,“肥胖”主要是由于饮食不节制、不经常运动等等因素引起的。但最近,我国学者开展的一项针对6到18岁儿童青少年、随访长达十年的代谢综合征研究结果,在权威国际期刊发表。研究发现,儿童的肥胖和超重与睡眠密切相关,儿童、青少年时期睡眠不好,成人后也更容易患心血管疾病。那么,为什么儿童青少年睡眠不足会导致肥胖呢?今天就带大家一探究竟。儿童青少年肥胖的现状如何?近日,一项刊载在医学权威期刊《柳叶
  • 淘宝天猫38节活动时间和玩法,2024年焕新周满减优惠多少 小小编007
    在2024年,淘宝天猫平台即将迎来一年一度的38节活动,这是广大消费者们翘首以待的购物狂欢节。在这篇文章中,我们将为您详细解读淘宝天猫38节活动的时间安排和玩法,以及2024年焕新周的满减优惠力度。一、淘宝天猫38节活动时间2024年淘宝天猫38节活动将于2月28日正式启动,持续至3月8日,为期10天。活动期间,消费者们可以尽情享受各种优惠折扣、满减活动以及限时秒杀,尽情释放购物热情。2024淘宝
  • 感恩日志 圆施
    张新丽2019年8月16日感恩日志:1.感恩天地滋养万物;感恩国家恩惠护佑;感恩父母养育深恩。2.感恩尊重为平台源头付出的所有人事物。3.感恩红斌、孙萍清晨7点开车来接我和小姨去安宁渠采摘。4.感恩小姨和小姨夫亲自采摘还带我们去瓜地品尝,第一次这么吃好甜啊,忘掉了炎热消了暑,拍下了瞬间,分享着快乐,带给大家。4.感恩整理收拾好小姨给大家利用午休蒸苞米。5.感恩去接爸妈参加沙龙。6.感恩祝福两位伙伴
  • 安神的投资札记——指数跟踪周报(20220602) echo安神
    本周关键词:缩表上周调整过后,本周又反弹了。最近创业板好活跃,跌的时候跌得凶,涨的时候也涨得猛。底部特征明显。上证50,0.99%;沪深300,2.21%;中证100,1.85%;中证500,3.03%;深证100,3.71%;创业板指数,5.85%;中证1000,3.75%。美联储6月1日开启缩表,每月总计减持475亿美元美国国债和MBS(抵押贷款支持证券),并将在3个月后提高缩表上限至每月95
  • 社交电商是什么意思通俗的说 氧惠好项目
    社交电商是目前电商发展的一个非常热门的领域,它将传统的电商和社交媒体相结合,让用户可以在社交平台上完成购物、支付等操作。社交电商不同于传统电商,它更加注重用户的社交性和互动性,通过社交媒体的传播,吸引用户关注,让产品能够更加快速地传播。京东密令红包:最爱领红包828红包多多148今天给大家分享我长期在做的副业,也在这里赚到人生第3桶金!氧惠APP佣金高,资质靠谱,各大应用市场均可搜索使用。【氧惠】
  • 1.计算机处理器架构+嵌入式处理器架构及知识 vv 啊 arm-linux学习linux系统架构
    目录一:x86-64处理器架构二:Intel80386处理器(i386)1.i3862.i686三:嵌入式Linux知识:1.MinGW2.GNU计划2.1GNU工具链概述此次只分享英特尔和ADM处理器有关于x86的架构,至于嵌入式处理器架构请查看https://en.wikipedia.org/wiki/List_of_ARM_processors一:x86-64处理器架构x86-64,也称为x
  • 心赏(2018.10.8) 六一节_3928
    1.上班第一天,同事彤休完产假,回来上班,给我带了酸奶和水果。她生小孩时,我给她发了一个小红包贺喜,哪知她就记在心里了。心赏这个有心的90后。2.女儿放学回来,说自己当了小组长。一边说不想当,一边得意的样子。心赏老师给了孩子这个锻炼的机会。3.老妈今天做了"蚂蚁上树"的菜,得到女儿的高度肯定。心赏老妈还在不断学习。
  • v-for 实例 琪33
    v-for实例v-for实例{{item}}{{index+1}}:{{student.name}}-{{student.age}}varapp=newVue({el:'#app',data:{items:[53,23,76,14,54,36,28],students:[{name:'jspang',age:32},{name:'Panda',age:30},{name:'PanPaN',age:
  • 2019.11.28感恩日记 afab5b74f713
    1.感谢真我守护,一觉到天明,谢谢谢谢谢谢!2.感谢一大早,橘子就甩来4800的大红包,谢谢谢谢谢谢!3.感谢今天代理宝宝们疯狂加单,钱宝宝流入小十万,太牛了你们,有你们真好,谢谢谢谢谢谢!4.感谢自己拥有钱宝宝,可以去群里给宝宝们发红包,表达我的爱,谢谢谢谢谢谢钱宝宝爱我!5.感谢自己的细胞宝宝们,让我保持健康与活力,可以自由活动,活力满满,谢谢谢谢谢谢!6.感谢芬姐甩来订单,谢谢谢谢谢谢钱宝宝
  • helm 部署 Kube-Prometheus + Grafana + 钉钉告警部署 Kube-Prometheus zxj19880502 grafanaprometheus
    背景角色IPK8S版本容器运行时k8s-master-1172.16.16.108v1.24.1containerd://1.6.8k8s-node-1172.16.16.109v1.24.1containerd://1.6.8k8s-node-2172.16.16.110v1.24.1containerd://1.6.8安装kube-prometheusmkdir-p/data/yaml/kub
  • 家长们的福音:教师对书面作业全批全改,学校不得考试选拔学生 丝雨润春风
    年前年后教育部门公布了不少措施,来减轻学生负担,维护学生的身心健康成长,随后各地教育局也陆陆续续颁布了各种新政策,这不最近山东教育厅也起草了《山东普通中小学规范办学十五条规定》。在这15条规定内容之中包括了:教师对书面作业全批全改,不给家长布置作业或要求家长评改作业;义务教育学校不得以考试、面试、评测等名义选拔学生;保障学生每天睡眠时间,高中生不少于8个小时。毋庸置疑这个规定的初衷非常得好,是对学
  • 喝酒给500红包,大家讨论一下微信报单好还是传真报单好? 践侠客
    2018年6月2日,L1组编号8号,日精进第65天,(文/胡鼎峰)昨天又和客户一起吃饭喝酒了,尽管最后的结果是蛮好的,但是因为喝酒我昨天又断更了,这对于习惯了每天写作日更的我来说,体验非常地差。早上三点就早早醒过来,想要爬起来写文章,但是头脑因为酒精的作用依然是昏昏沉沉,于是在半梦半醒之间熬到了天亮。对于我来说,日更是现在最重要的事情,虽然我也不知道我日更到底是为了什么,但是就是隐隐地觉得自己必须
  • 买莆田鞋的app软件,三大app莆田鞋平台推荐给大家 腕表鞋屋
    买莆田鞋的app软件,三大app莆田鞋平台推荐给大家,如毒app、亚马逊、潮鞋之家、鞋子货源app、淘宝等app都非常的好用,还有更多的可以购买莆田鞋子,莆田鞋在哪个app买好用,下面一起看看。微信:pt188x(下单赠送精美礼品)买莆田鞋的三大app软件:一、淘宝app。买莆田鞋当然少不了淘宝,建议大家不要直接去搜索莆田鞋,那样给出的结果是很少的。大家看上哪款鞋子的型号直接去搜索就可以了,然后按
  • 2022-2-13晨间日记 越亮也打烊
    今天是什么日子起床:7:00就寝:12:08天气:晴心情:糟糕纪念日:无任务清单昨日完成的任务,最重要的三件事:寒假作业,网课,画画改进:作业时间剪短习惯养成:网课不逃~周目标·完成进度数学卷子100%学习·信息·阅读《傅雷家书》《钢铁是怎样炼成的》健康·饮食·锻炼我终于不喝饮料啦,喝茶~人际·家人·朋友邝姐姐带我吃火锅工作·思考啥时候开学,我还有几天赶完作业最美好的三件事1.卷子写完了2.我有冰
  • 直返APP所属的公司是何时成立的?它的发展历程和业务范围 好项目高省
    直返APP为我们带来了返利购物的便利,那么这款APP所属的公司是如何成立的呢?它的背后又有怎样的发展历程和业务范围呢?让我们一起探寻。【高省】APP(高佣金领导者)是一个自用省钱佣金高,分享推广赚钱多的平台,百度有几百万篇报道,运行三年,稳定可靠。高省APP,是2021年推出的平台,0投资,0风险、高省APP佣金更高,模式更好,终端用户不流失。高省是公认的返利最高的软件。古楼导师高省邀请码5558
  • 中原焦点团队38期王芳芳坚持分享第236天,20230630总约练134次,来访113次,咨8次,观察员13次 芳芳王
    学习焦点的初心是想拯救孩子,孩子由于沉迷游戏,成绩下滑,在学习的过程中发现是自己的教育方式出了状况。经过半年的学习,一些焦点的基本技巧,如接纳、欣赏、倾听、同理心、尊重等都有了一定的了解。但在实际应用时仍然存在很多问题,感觉自己仍然没有放下对孩子成绩的期望,仍然把握不住对孩子管理的度。我该如何去陪伴好孩子?多用心去听课,并加强反思,多约练。去思考如何让自己快乐起来?
  • 虚拟 DOM 的优缺点有哪些 咕噜签名分发 前端javascript开发语言
    虚拟DOM(VirtualDOM)技术作为现代前端开发中的重要组成部分,已经成为了众多流行前端框架的核心特性。它的引入为前端开发带来了诸多优势,同时也需要我们认真思考其潜在的考量。下面简单的介绍一下虚拟DOM技术的优势与缺点,深入探讨其在实际应用中的影响。提升性能虚拟DOM的最大优势之一是提升页面性能。通过比较前后两次虚拟DOM树的差异,最小化实际DOM操作,从而减少页面重渲染时的性能消耗。这种优
  • docker怎么端口映射 Lance_mu docker容器运维
    1、默认固定的端口#Web服务器:WebApache或Nginx通常使用80端口HTTP:80HTTPS:443#数据库服务器MySQL:3306PostgreSQL:5432MongoDB:27017Redis:6379#邮件服务器SMTP:25POP3:110IMAP:143#其他服务SSH:22FTP:21DNS(域名解析):53代理服务器Squid:3128版本控制系统Git:9418(S
  • 认识一个金苹果(一) 紫藤11
    群里来了一个有趣的人,很喜欢她的有才和有趣,就是嘴碎点,很好奇,她是男生?还是女生?是90后?还是80后,太多疑问,但我又不想问她,只在群里跟她斗嘴,享受这个过程。跟她斗嘴的过程,跟我跟我儿子一样,总是抬杠,但又喜欢。不管她是男生还是女生,她的文采真是很好,看她的文章,直接有读下去的欲望,有想看续集的想法,她很努力向上,也很有荣誉感,但又不想让别人看穿,总是一个吊儿郎当的样子。明明跟同桌,那么友爱
  • PHP,安卓,UI,java,linux视频教程合集 cocos2d-x小菜 javaUIlinuxPHPandroid
    ╔-----------------------------------╗┆                           
  • zookeeper admin 笔记 braveCS zookeeper
      Required Software 1) JDK>=1.6 2)推荐使用ensemble的ZooKeeper(至少3台),并run on separate machines 3)在Yahoo!,zk配置在特定的RHEL boxes里,2个cpu,2G内存,80G硬盘   数据和日志目录 1)数据目录里的文件是zk节点的持久化备份,包括快照和事务日
  • Spring配置多个连接池 easterfly spring
    项目中需要同时连接多个数据库的时候,如何才能在需要用到哪个数据库就连接哪个数据库呢? Spring中有关于dataSource的配置:     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"   &nb
  • Mysql 171815164 mysql
    例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI TH GRANT OPTION; 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作
  • CommonDAO(公共/基础DAO) g21121 DAO
            好久没有更新博客了,最近一段时间工作比较忙,所以请见谅,无论你是爱看呢还是爱看呢还是爱看呢,总之或许对你有些帮助。         DAO(Data Access Object)是一个数据访问(顾名思义就是与数据库打交道)接口,DAO一般在业
  • 直言有讳 永夜-极光 感悟随笔
      1.转载地址:http://blog.csdn.net/jasonblog/article/details/10813313   精华: “直言有讳”是阿里巴巴提倡的一种观念,而我在此之前并没有很深刻的认识。为什么呢?就好比是读书时候做阅读理解,我喜欢我自己的解读,并不喜欢老师给的意思。在这里也是。我自己坚持的原则是互相尊重,我觉得阿里巴巴很多价值观其实是基本的做人
  • 安装CentOS 7 和Win 7后,Win7 引导丢失 随便小屋 centos
    一般安装双系统的顺序是先装Win7,然后在安装CentOS,这样CentOS可以引导WIN 7启动。但安装CentOS7后,却找不到Win7 的引导,稍微修改一点东西即可。 一、首先具有root 的权限。      即进入Terminal后输入命令su,然后输入密码即可 二、利用vim编辑器打开/boot/grub2/grub.cfg文件进行修改 v
  • Oracle备份与恢复案例 aijuans oracle
    Oracle备份与恢复案例 一. 理解什么是数据库恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。恢复过程大致可以分为复原(Restore)与
  • JavaEE开源快速开发平台G4Studio v5.0发布 無為子
      我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V5.0版本已经正式发布。   访问G4Studio网站 http://www.g4it.org   2013-04-06 发布G4Studio_V5.0版本 功能新增 (1). 新增了调用Oracle存储过程返回游标,并将游标映射为Java List集合对象的标
  • Oracle显示根据高考分数模拟录取 百合不是茶 PL/SQL编程oracle例子模拟高考录取学习交流
    题目要求: 1,创建student表和result表 2,pl/sql对学生的成绩数据进行处理 3,处理的逻辑是根据每门专业课的最低分线和总分的最低分数线自动的将录取和落选     1,创建student表,和result表 学生信息表; create table student( student_id number primary key,--学生id
  • 优秀的领导与差劲的领导 bijian1013 领导管理团队
    责任 优秀的领导:优秀的领导总是对他所负责的项目担负起责任。如果项目不幸失败了,那么他知道该受责备的人是他自己,并且敢于承认错误。 差劲的领导:差劲的领导觉得这不是他的问题,因此他会想方设法证明是他的团队不行,或是将责任归咎于团队中他不喜欢的那几个成员身上。 努力工作 优秀的领导:团队领导应该是团队成员的榜样。至少,他应该与团队中的其他成员一样努力工作。这仅仅因为他
  • js函数在浏览器下的兼容 Bill_chen jquery浏览器IEDWRext
      做前端开发的工程师,少不了要用FF进行测试,纯js函数在不同浏览器下,名称也可能不同。对于IE6和FF,取得下一结点的函数就不尽相同:   IE6:node.nextSibling,对于FF是不能识别的;   FF:node.nextElementSibling,对于IE是不能识别的; 兼容解决方式:var Div = node.nextSibl
  • 【JVM四】老年代垃圾回收:吞吐量垃圾收集器(Throughput GC) bit1129 垃圾回收
    吞吐量与用户线程暂停时间   衡量垃圾回收算法优劣的指标有两个: 吞吐量越高,则算法越好 暂停时间越短,则算法越好 首先说明吞吐量和暂停时间的含义。   垃圾回收时,JVM会启动几个特定的GC线程来完成垃圾回收的任务,这些GC线程与应用的用户线程产生竞争关系,共同竞争处理器资源以及CPU的执行时间。GC线程不会对用户带来的任何价值,因此,好的GC应该占
  • J2EE监听器和过滤器基础 白糖_ J2EE
    Servlet程序由Servlet,Filter和Listener组成,其中监听器用来监听Servlet容器上下文。 监听器通常分三类:基于Servlet上下文的ServletContex监听,基于会话的HttpSession监听和基于请求的ServletRequest监听。   ServletContex监听器 ServletContex又叫application
  • 博弈AngularJS讲义(16) - 提供者 boyitech jsAngularJSapiAngularProvider
      Angular框架提供了强大的依赖注入机制,这一切都是有注入器(injector)完成. 注入器会自动实例化服务组件和符合Angular API规则的特殊对象,例如控制器,指令,过滤器动画等。   那注入器怎么知道如何去创建这些特殊的对象呢? Angular提供了5种方式让注入器创建对象,其中最基础的方式就是提供者(provider), 其余四种方式(Value, Fac
  • java-写一函数f(a,b),它带有两个字符串参数并返回一串字符,该字符串只包含在两个串中都有的并按照在a中的顺序。 bylijinnan java
    public class CommonSubSequence { /** * 题目:写一函数f(a,b),它带有两个字符串参数并返回一串字符,该字符串只包含在两个串中都有的并按照在a中的顺序。 * 写一个版本算法复杂度O(N^2)和一个O(N) 。 * * O(N^2):对于a中的每个字符,遍历b中的每个字符,如果相同,则拷贝到新字符串中。 * O(
  • sqlserver 2000 无法验证产品密钥 Chen.H sqlwindowsSQL ServerMicrosoft
    在 Service Pack 4 (SP 4), 是运行 Microsoft Windows Server 2003、 Microsoft Windows Storage Server 2003 或 Microsoft Windows 2000 服务器上您尝试安装 Microsoft SQL Server 2000 通过卷许可协议 (VLA) 媒体。 这样做, 收到以下错误信息CD KEY的 SQ
  • [新概念武器]气象战争 comsci
           气象战争的发动者必须是拥有发射深空航天器能力的国家或者组织....        原因如下:        地球上的气候变化和大气层中的云层涡旋场有密切的关系,而维持一个在大气层某个层次
  • oracle 中 rollup、cube、grouping 使用详解 daizj oraclegroupingrollupcube
    oracle 中 rollup、cube、grouping 使用详解 -- 使用oracle 样例表演示 转自namesliu -- 使用oracle 的样列库,演示 rollup, cube, grouping 的用法与使用场景    --- ROLLUP , 为了理解分组的成员数量,我增加了 分组的计数  COUNT(SAL)   
  • 技术资料汇总分享 Dead_knight 技术资料汇总 分享
    本人汇总的技术资料,分享出来,希望对大家有用。 http://pan.baidu.com/s/1jGr56uE 资料主要包含: Workflow->工作流相关理论、框架(OSWorkflow、JBPM、Activiti、fireflow...) Security->java安全相关资料(SSL、SSO、SpringSecurity、Shiro、JAAS...) Ser
  • 初一下学期难记忆单词背诵第一课 dcj3sjt126com englishword
    could 能够 minute 分钟 Tuesday 星期二 February 二月 eighteenth 第十八 listen 听 careful 小心的,仔细的 short 短的 heavy 重的 empty 空的 certainly 当然 carry 携带;搬运 tape 磁带 basket 蓝子 bottle 瓶 juice 汁,果汁 head 头;头部
  • 截取视图的图片, 然后分享出去 dcj3sjt126com OSObjective-C
    OS 7 has a new method that allows you to draw a view hierarchy into the current graphics context. This can be used to get an UIImage very fast. I implemented a category method on UIView to get the vi
  • MySql重置密码 fanxiaolong MySql重置密码
    方法一:  在my.ini的[mysqld]字段加入: skip-grant-tables 重启mysql服务,这时的mysql不需要密码即可登录数据库  然后进入mysql mysql>use mysql;  mysql>更新 user set password=password('新密码') WHERE User='root'; mysq
  • Ehcache(03)——Ehcache中储存缓存的方式 234390216 ehcacheMemoryStoreDiskStore存储驱除策略
    Ehcache中储存缓存的方式   目录 1     堆内存(MemoryStore) 1.1     指定可用内存 1.2     驱除策略 1.3     元素过期 2   &nbs
  • spring mvc中的@propertysource jackyrong spring mvc
      在spring mvc中,在配置文件中的东西,可以在java代码中通过注解进行读取了: @PropertySource  在spring 3.1中开始引入 比如有配置文件 config.properties mongodb.url=1.2.3.4 mongodb.db=hello 则代码中   @PropertySource(&
  • 重学单例模式 lanqiu17 单例Singleton模式
    最近在重新学习设计模式,感觉对模式理解更加深刻。觉得有必要记下来。 第一个学的就是单例模式,单例模式估计是最好理解的模式了。它的作用就是防止外部创建实例,保证只有一个实例。 单例模式的常用实现方式有两种,就人们熟知的饱汉式与饥汉式,具体就不多说了。这里说下其他的实现方式 静态内部类方式: package test.pattern.singleton.statics; publ
  • .NET开源核心运行时,且行且珍惜 netcome java.net开源
    背景 2014年11月12日,ASP.NET之父、微软云计算与企业级产品工程部执行副总裁Scott Guthrie,在Connect全球开发者在线会议上宣布,微软将开源全部.NET核心运行时,并将.NET 扩展为可在 Linux 和 Mac OS 平台上运行。.NET核心运行时将基于MIT开源许可协议发布,其中将包括执行.NET代码所需的一切项目——CLR、JIT编译器、垃圾收集器(GC)和核心
  • 使用oscahe缓存技术减少与数据库的频繁交互 Everyday都不同 Web高并发oscahe缓存
    此前一直不知道缓存的具体实现,只知道是把数据存储在内存中,以便下次直接从内存中读取。对于缓存的使用也没有概念,觉得缓存技术是一个比较”神秘陌生“的领域。但最近要用到缓存技术,发现还是很有必要一探究竟的。   缓存技术使用背景:一般来说,对于web项目,如果我们要什么数据直接jdbc查库好了,但是在遇到高并发的情形下,不可能每一次都是去查数据库,因为这样在高并发的情形下显得不太合理——
  • Spring+Mybatis 手动控制事务 toknowme mybatis
    @Override    public boolean testDelete(String jobCode) throws Exception {       boolean flag = false;  &nbs
  • 菜鸟级的android程序员面试时候需要掌握的知识点 xp9802 android
    熟悉Android开发架构和API调用 掌握APP适应不同型号手机屏幕开发技巧 熟悉Android下的数据存储  熟练Android Debug Bridge Tool 熟练Eclipse/ADT及相关工具  熟悉Android框架原理及Activity生命周期 熟练进行Android UI布局 熟练使用SQLite数据库; 熟悉Android下网络通信机制,S