- 博客(338)
- 收藏
- 关注
转载 关于Tokenizer与TokenFilter的区别
TokenStream是一个能在被调用后产生语汇单元流的类,但是 TokenStream 类有两个不同的类型:Tokenizer 类和 TokenFilter 类。这两个类都是从抽象类TokenStream类继承而来。 Tokenizer 对象通过Java.io.Reader 对象读取字符创建语汇单元,而TokenFilter 类则负责处理输入的语汇单元,然后通过新增、删除或者修改...
2019-01-22 16:43:38
661
转载 Elasticsearch Analyzer 的内部机制
本文将介绍各种 Analyzer,以及他们各种的应用场景。涉及到的概念 Character filter Tokenizer Token filter Analyzer Term query 1 前言Analyzer 一般由三部分构成,character filters、tokenizers、token filters。掌握了 Analyz...
2018-10-20 20:17:04
729
转载 ElasticSearch搜索底层基础原理总结
http://blog.51cto.com/qinbin/2051098 目录: 1._search结果分析 2.multi-index和multi-type 3.分页查询与deep paging 4.query DSL和query string 5.mapping 6.倒排索引和正排索引(doc value) 7、分词...
2018-10-20 20:12:51
2093
转载 Elasticsearch 5.x 字段折叠(Field Collapsing)的使用
在 Elasticsearch 5.x 有一个字段折叠(Field Collapsing,#22337)的功能非常有意思,在这里分享一下, 字段折叠是一个很有历史的需求了,可以看这个 issue,编号#256,最初是2010年7月提的issue,也是讨论最多的帖子之一(240+评论),熬了6年才支持的特性,你说牛不牛,哈哈。 目测该特性将于5.3发布,尝鲜地址:Elasticsearch-...
2018-10-20 17:32:39
1127
2
转载 Elasticsearch整理之mapping的参数
https://blog.youkuaiyun.com/Interstellar_/article/details/81359301#22.%20term_vector 目录一、Mapping的参数1. analyzer2. normalizer3. boost4. coerce5. copy_to6. doc_values7. dynamic8. enabl...
2018-09-12 17:49:03
619
转载 C++ 多态 虚函数
为什么使用虚函数?什么是虚函数?虚函数是为了解决什么问题?面向对象的三大特征:封装 多态 继承普通虚函数 虚析构函数 纯虚函数 抽象类 接口类 隐藏 vs 覆盖 隐藏与覆盖之间的关系 早绑定和晚绑定 虚函数表什么是多态?相同对象收到不同消息或不同对象收到相同消息时产生的不同的动作。静态多态 vs 动态多态[-:>静态多态也叫做早绑定class...
2018-08-29 17:26:39
237
转载 sizeof计算对象所占内存的大小详解
首先声明sizeof并非为一个函数,而是C语言中的一个关键字, sizeof计算对象所占内存的大小,判断操作数的类型长度,以字节为单位;地址 的大小在32位系统占4个字节,在64位系统占8个字节,本实例都在32位机器上操作;数组名arr表示整个数组两种情况:sizeof(arr)以及 &arr。定义一个整型数组的情况#include <stdio.h>int mai...
2018-08-28 16:24:41
2112
转载 为什么在Python里推荐使用多进程而不是多线程?
最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢? 要知其然,更要知其所以然。所以有了下面的深入研究: 首先强调背景: 1、GIL是什么?GIL的全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考...
2018-08-28 10:35:22
370
转载 class占用内存问题
一、背景知识1:首先遵从内存对齐规则2:只有虚函数会占4个字节,其他的函数不占内存;无论多少个虚函数,只有这一个指针,4字节。//注意一般的函数是没有这个指针的,而且也不占类的内存;3、静态变量由于属于所有类对象共同所有,所以不占内存二、典型的计算类的占用内存的问题1空类的问题class CBase { }; sizeof(CBase)=1;原始的C结构经过改造,...
2018-08-25 21:20:08
1968
原创 Leetcode 39. Combination Sum 40. Combination Sum II 216. Combination Sum III 377. Combination Sum IV
数组中没有重复数字,但一个数字可以重复使用,因此先将数组排序,再dfs注意dfs的起点p,下一次的起点是当前位置,才能保证每个数字使用了多次class Solution {public: vector<vector<int>> combinationSum(vector<int>& candidates, int target) {...
2018-08-25 18:35:27
385
原创 Leetcode 336. Palindrome Pairs
暴力法需要O(n^2*L),即遍历所有单词的两两前后组合,每个合并的单词再判断是否为回文串。优化方法是,对于每一个单词word1,能够与之相加得到回文串的单词word2必定满足:word1 + word2 = palindrome相同长度的:prefix(word1) = reverse(word2)因此可预处理用hashmap存下所有单词的reverse然后枚举每个单词...
2018-08-23 16:49:27
202
原创 Leetcode 198. House Robber 213. House Robber II 337. House Robber III
198. House Robber用滚动数组实现O(1)空间需要注意的是更新时index的处理class Solution {public: int rob(vector<int>& nums) { int n = nums.size(); vector<int> v(3, 0); for...
2018-08-21 14:54:50
288
转载 IO多路复用机制详解
服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:(1)同步阻塞IO(Blocking IO):即传统的IO模型。(2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。(3)IO多路复用(IO Multiplexing):即经...
2018-08-16 21:43:33
207
转载 redis数据结构(内存模型)以及常用命令
https://www.cnblogs.com/hjwublog/p/5639990.html文章主目录Redis数据类型 Redis常用命令 参考文档 Redis数据类型与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String、List、Hash、Set和Sorted Set。Redis...
2018-08-13 16:17:26
272
转载 web服务器和客户端完成并行处理请求三大方式
从设计架构上来说,Nginx服务器是与众不同的。不同之处一方面提现在它的模块化设计,另一方面,也是更重要的一方面。体现在它对客户端请求的处理机制上。Web服务器和客户端是一对多的关系,Web服务器必须有能力同时对多个客户端提供服务。一般来说,完成并行处理请求工作有三种方式:多进程方式、多线程方式和异步方式。多进程方式服务器每当接收到一个客户端时,就由服务器主进程生成一个子进程出来和该...
2018-08-08 14:08:59
2320
转载 多线程性能及效率问题
一、[多线程概要] 随着计算机技术的发展,编程模型也越来越复杂多样化。但多线程编程模型是目前计算机系统架构的最终模型。随着CPU主频的不断攀升,X86架构的硬件已经成为瓶,在这种架构的CPU主频最高为4G。事实上目前3.6G主频的CPU已经接近了顶峰。 如果不能从根本上更新当前CPU的架构(在很长一段时间内还不太可能),那么继续提高CPU性能的方法就是超线程CPU模式。那么,作业系统、应用...
2018-08-06 16:51:42
1782
转载 当你在浏览器地址栏输入一个URL后回车,将会发生的事情?
原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/ 作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~...
2018-08-06 16:00:47
348
转载 用户用浏览器访问一个网站的时候背后的过程与步骤是怎样的?
作者:邱永臣叫西门追雪链接:https://www.zhihu.com/question/20513729/answer/96332435来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 假设你用一个全新的浏览器(第一次启动的那种),访问百度(http://www.baidu.com/),在你敲入网址并按下回车之后,将会发生以下神奇的事情:浏览器先尝试从...
2018-08-06 15:58:21
3498
转载 海量数据处理面试题
作者:July出处:结构之法算法之道blog 前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名 :-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文将摒弃绝大部分的细节,...
2018-07-25 20:15:29
376
转载 操作系统之分页分段介绍
原文:http://www.w2bc.com/Article/86892一.虚拟内存的由来 1.问题提出: 当直接让进程使用直接的物理内存时,当对物理内存操作时会出现混乱。比如进程A装在0-30的物理内层,在29处是一条ADD指令。而进程B装在30-40处第一条指令为JMP 29.没有使用虚拟内存的话,进程B将直接跳到进程A从而使两者程序都破坏掉。2.解决办法: ...
2018-07-24 13:28:03
1109
转载 C++中的栈和堆的区别
数据结构中的堆与栈:栈:是一种连续储存的数据结构,具有先进后出的性质。通常的操作有入栈(圧栈)、出栈和栈顶元素。想要读取栈中的某个元素,就要将其之前的所有元素出栈才能完成。类比现实中的箱子一样。堆:是一种非连续的树形储存数据结构,每个节点有一个值,整棵树是经过排序的。特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。常用来实现优先队列,存取随意。内存中的栈区与堆区:一般说到...
2018-07-23 17:08:48
303
转载 基于隐马尔可夫模型的有监督词性标注
代码下载:基于隐马尔可夫模型的有监督词性标注词性标注(Part-of-Speech tagging 或 POS tagging)是指对于句子中的每个词都指派一个合适的词性,也就是要确定每个词是名词、动词、形容词或其他词性的过程,又称词类标注或者简称标注。词性标注是自然语言处理中的一项基础任务,在语音识别、信息检索及自然语言处理的许多领域都发挥着重要的作用。 词性标注本质上...
2018-07-18 17:29:18
569
转载 HMM在自然语言处理中的应用一:词性标注2
http://www.52nlp.cn/hmm-application-in-natural-language-processing-one-part-of-speech-tagging-2 上一节我们对自然语言处理中词性标注的基本问题进行了描述,从本节开始我们将详细介绍HMM与词性标注的关系以及如何利用HMM进行词性标注。首先回顾一下隐马尔科夫模型(HMM)的定义和三大基本问题,并由...
2018-07-18 17:28:18
878
转载 redis 官方文档 —— 持久化(persistence)
持久化(persistence)本文档翻译自 http://redis.io/topics/persistence 。这篇文章提供了 Redis 持久化的技术性描述, 推荐所有 Redis 用户阅读。要更广泛地了解 Redis 持久化, 以及这种持久化所保证的耐久性(durability), 请参考文章 Redis persistence demystified (中文)。R...
2018-07-18 15:13:30
199
转载 redis——持久化篇
众所周知,redis是内存数据库,它把数据存储在内存中,这样在加快读取速度的同时也对数据安全性产生了新的问题,即当redis所在服务器发生宕机后,redis数据库里的所有数据将会全部丢失。为了解决这个问题,redis提供了持久化功能——RDB和AOF。通俗的讲就是将内存中的数据写入硬盘中。 一、持久化之全量写入:RDB[redis@6381]$ more /usr...
2018-07-18 14:53:01
119
转载 大型网站是怎样解决多用户高并发访问的
分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。 集群主要分为:高可用集群(High Availability Cluster),负载均衡集群(Load Balance Cluster,nginx即可实现),科学计算集群(High Performance Computing Cluster)。分布式是指将不同的业务分布在不同的地方;而集...
2018-07-18 14:13:47
911
转载 lucene4.5源码分析系列:lucene的默认评分算法-向量空间模型(Vector Space Model)
在lucene4以前,一直都是使用经典的向量空间模型作为其检索模型,这种方式虽然统一了评分算法,简化了计算,但是带来的问题是很难去调整,一旦向量空间模型不适合,也很难去替换一种更好的算法。 而lucene4则将检索模型与事实上的搜索做了解耦和抽象,并且加入了另外几种检索模型的实现,其中就有经典的BM25。 经典的向量空间模型的理论基础及其在lucene中的应用 向量空间模型是信息检索领域中一...
2018-07-13 19:36:49
229
转载 elasticsearch的autocomplete
对于搜索引擎来说,在键入搜索关键词的过程中进行自动提词是个重要的功能,es对此也提供了支持。这个功能是不是有点类似于prefixquery呢,看上去是的。但是,prefixquery是否会符合条件的doc,而自动提词是返回符合条件的term。所以二者不能混为一谈。因此suggestion模块出现了。我们聚焦下complete。1:为什么需要一个的单独的suggest?速度为先:为了提词,一个完整的...
2018-07-13 15:35:50
1015
转载 Redis的过期策略和内存淘汰策略
Redis的过期策略我们都知道,Redis是key-value数据库,我们可以设置Redis中缓存的key的过期时间。Redis的过期策略就是指当Redis中缓存的key过期了,Redis如何处理。过期策略通常有以下三种:定时过期:每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓...
2018-05-22 10:36:19
3749
转载 图解Elasticsearch中的_source、_all、store和index属性
Elasticsearch中有几个关键属性容易混淆,很多人搞不清楚_source字段里存储的是什么?store属性的true或false和_source字段有什么关系?store属性设置为true和_all有什么关系?index属性又起到什么作用?什么时候设置store属性为true?什么时候应该开启_all字段?本文通过图解的方式,深入理解Elasticsearch中的_source、_all、...
2018-04-27 14:41:44
1218
转载 html中a标签中的onclick和href的使用
onclick链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接); 假设链接中同时存在 href 与 onclick,如果想让 href 属性下的动作不执行,onclick 必须得到一个 false 的返回值。不信,你可以将 goGoogle 函数中的 return false 注释掉; 如果页面过长有滚动条,且希望通
2018-01-08 16:51:25
2194
转载 Elasticsearch 5.1.1搜索高亮及Java API实现
5.1.1的搜索高亮和2.X有所变化,但是变化不大。下面分四步来介绍:创建索引(设置mapping/IK分词)、索引文档、REST API的搜索高亮、JAVA API的搜索高亮。 注:从这篇博客开始,采用简写的代码风格,也就是Sence插件或者kibana的dev tools中采用的风格。(温馨提示:安装kibana 5.1.1,在dev tools中直接可以使用简单格式命令。)一、创
2017-11-27 14:57:49
414
转载 Elasticsearch——分页查询From&Size VS scroll
Elasticsearch中数据都存储在分片中,当执行搜索时每个分片独立搜索后,数据再经过整合返回。那么,如果要实现分页查询该怎么办呢?更多内容参考Elasticsearch资料汇总按照一般的查询流程来说,如果我想查询前10条数据:1 客户端请求发给某个节点2 节点转发给个个分片,查询每个分片上的前10条3 结果返回给节点,整合数据,提取前10条4 返回给请求客户端那么当我
2017-11-08 16:52:17
254
转载 ElasticSearch 内存那点事
“该给ES分配多少内存?” “JVM参数如何优化?““为何我的Heap占用这么高?”“为何经常有某个field的数据量超出内存限制的异常?““为何感觉上没多少数据,也会经常Out Of Memory?”以上问题,显然没有一个统一的数学公式能够给出答案。 和数据库类似,ES对于内存的消耗,和很多因素相关,诸如数据总量、mapping设置、查询方式、查询频度等等。默认的设置虽开箱即用,但不能适用每一种...
2017-09-25 17:12:36
18234
转载 Python 数据分析包:pandas 基础
http://www.open-open.com/lib/view/open1402477162868.htmlpandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的 。Series 和 DataFrame 分别对应于一维的序
2017-04-26 21:20:15
496
转载 从最大似然到EM算法浅解
http://blog.youkuaiyun.com/zouxy09/article/details/8537620/从最大似然到EM算法浅解zouxy09@qq.comhttp://blog.youkuaiyun.com/zouxy09 机器学习十大算法之一:EM算法。能评得上十大之一,让人听起来觉得挺NB的。什么是NB啊,我们一般说某个人很NB,是因为他能解决
2017-01-10 23:07:51
332
转载 循环神经网络(RNN, Recurrent Neural Networks)介绍
这篇文章很多内容是参考:http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/,在这篇文章中,加入了一些新的内容与一些自己的理解。 循环神经网络(Recurrent Neural Networks,RNNs)已经在众多自然语言处理(Natural Langu
2016-12-29 21:40:06
781
转载 NP完全问题
http://blog.youkuaiyun.com/zyearn/article/details/8565722/** 第0~第8章的全部笔记已经整理在http://zjsblog.com/ALGO/index.html* Algorithms 是一本很经典的算法入门书,希望对朋友们有所帮助*/Chapter 8:NP-完全问题8.1 一些搜索问题:
2016-12-29 21:23:18
5179
转载 gcc编译选项
一、GCC(GNU Compiler Collection)是Linux下最主要的编译工具,GCC不仅功能非常强大,结构也异常灵活。它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal、Modula-3和Ada g++是GCC中的一个工具,专门来编译C++语言的。 GCC的参数有:( 也是分步实现)
2016-12-13 13:43:01
338
转载 python 生成随机一维或多维正态分布
作者:采石工链接:https://www.zhihu.com/question/39823283/answer/115241445来源:知乎著作权归作者所有,转载请联系作者获得授权。# coding=utf-8import numpy as npfrom numpy.linalg import choleskyimport matplotlib.pyplot as pltsa
2016-12-07 13:02:46
42505
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人