简介 es在对文档进行倒排索引的需要用分析器(Analyzer)对文档进行分析.建立索引.从文档中提取词元(Token)的算法称为分词器(Tokenizer),在分词前预处理的算法称为字符过滤器(Character Filter),进一步处理词元的算法称为词元过滤器(Token Filter),最后得到词(Term).这整个分析算法称为分析器(Analyzer). 其工作流程: 先会使用字符过滤器CharacterFilters对文档中的不需要的字符过滤(例如html语言的<br/>等等) 用…
ES 总结: es 是基于lucene的, 是java 实现的, 很多概念和lucene是相同的 索引-- 对应数据库的表,mongoDB中的集合 文档,由字段组成, 一个字段可以出现多次. 字段,其类型可以是任意的, 也可以是复合的, 注: 不同类型的同名字段不能设置为不同类型. 分片:每个分片是一个独立的lucene实例, 一个独立的jvm, 一个索引的数据可以有多个 分片组成---- 数据量大的时候, 通常都是这样的, 而且每个分片都是位于集群不同的节点上. 分片的大小是不能控制的, 但是…
关于分析器 ES中默认使用的是标准分析器(standard analyzer).如果需要对某个字段使用其他分析器,可以在映射中该字段下说明.例如: PUT /my_index { "mappings": { "blog": { "properties": { "title": { "type": "string", "fields": { "english&…
Elasticsearch这种全文搜索引擎,会用某种算法对建立的文档进行分析,从文档中提取出有效信息(Token) 对于es来说,有内置的分析器(Analyzer)和分词器(Tokenizer) 1:分析器 ES内置分析器 standard 分析器划分文本是通过词语来界定的,由Unicode文本分割算法定义.它删除大多数标点符号,将词语转换为小写(就是按照空格进行分词) simple 分析器每当遇到不是字母的字符时,将文本分割为词语.它将所有词语转换为小写. keyword 可以接受任何给定的文…
=====================================================视音频编解码学习工程系列文章列表: 视音频编解码学习工程:H.264分析器 视音频编解码学习工程:AAC格式分析器 视音频编解码学习工程:FLV封装格式分析器 视音频编解码学习工程:TS封装格式分析器 视音频编解码学习工程:JPEG分析器 ===================================================== 本文介绍一个自己的开源小项目:JPEG分析器.…
关于结巴分词 ElasticSearch 插件: https://github.com/huaban/elasticsearch-analysis-jieba 该插件由huaban开发.支持Elastic Search 版本<=2.3.5. 结巴分词分析器 结巴分词插件提供3个分析器:jieba_index.jieba_search和jieba_other. jieba_index: 用于索引分词,分词粒度较细: jieba_search: 用于查询分词,分词粒度较粗: jieba_other:…
在ES存储的文档,进行存储时,会对文档的内容进行分析和分词 分析的过程: 首先,将一块文本分成适合于倒排索引的独立的 词条 , 之后,将这些词条统一化为标准格式以提高它们的“可搜索性”,或者 recall 分析器的三个功能 1.字符过滤器 首先,字符串按顺序通过每个 字符过滤器 .他们的任务是在分词前整理字符串.一个字符过滤器可以用来去掉HTML,或者将 & 转化成 `and`. 2.分词器 其次,字符串被 分词器 分为单个的词条.一个简单的分词器遇到空格和标点的时候,可能会将文本拆分成词条.…
首先申明下,本文为笔者学习<OpenGL ES应用开发实践指南(Android卷)>的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载. <OpenGL ES学习笔记(二)--平滑着色.自适应宽高及三维图像生成>中阐述的平滑着色.自适应宽高是为了实现在移动端模拟真实场景采用的方法,并且通过w分量增加了三维视角,在具体实现上采用了正交投影.透视投影的理论.本文将在此基础上,构建更加精美的三维场景.三维效果本质上是点.直线和三角形的组合,纹理是将图像或者照片覆盖到物体表面…
移动端图形标准中,目前 OpenGL ES 仍然是比较通用的标准(Vulkan 则是新一代),这里新开一个系列用于记录学习 OpenGL ES 的历程,以便查阅理解. OverView OpenGL ES OpenGL ES 是移动设备中主流图形API,由Khronos 组织创立.其支持平台包括 iOS.Android.BlackBerry.bada.Linux和Windows,同时,它还是浏览器中 3D 图形 WebGL 标准的基础. 目前,Khronos 已经发布了一下几个版本: OpenG…
搜索中心新建好之后在搜索结果页上会默认有所有内容,人员,对话,视频这四个结果分类,每个分类会返回指定范围的搜索结果,这里我再添加了部门日志结果分类,搜索这个分类只会返回部门日志内容类型的搜索结果,要实现这个效果,步骤如下: 第一步,进入管理中心,进入管理应用程序,点击Search Service 应用程序,进入搜索管理页,再点击结果源如图: 第二步,新建结果源,填写名称,协议填写本地sharepoint,凭据信息选择默认, 第三步,点击启动查询生成器,生成查询语句,最后点保存,接着继续点新建内容…
shell学习总结之自定义函数 Myfun (){ echo -n "now i is $i " ! [ "$i" ] && exit ; echo jj return ' } myf=$(Myfun); echo myf Myfun unset Myfun Myfun echo 'the end !'$myf 别人的 #! bin/bash # ----------------------------------------------------…
转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这个日志 假设我们如下一个日志文件,这个文件的内容是来自某个电信运营商的手机上网日志,文件的内容已经经过了优化,格式比较规整,便于学习研究. 该文件的内容如下(这里我只截取了三行): 1363157993044 18211575961 94-71-AC-CD-E6-18:CMCC-EASY 120.1…
ES学习 1. 安装 1.1 ES 安装配置 curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.2.tar.gz tar xvf elasticsearch-5.1.2.tar.gz ln -s elasticsearch-5.1.2 elasticsearch 修改conf/elasticsearch.yaml文件,参考下面的文件 修改句柄 vm.max_map_count sudo v…
博客shiro学习笔记_0400_自定义Realm实现身份认证 介绍了认证,这里介绍授权. 1,仅仅通过配置文件来指定权限不够灵活且不方便.在实际的应用中大多数情况下都是将用户信息,角色信息,权限信息 保存到了数据库中.所以需要从数据库中去获取相关的数据信息.可以使用 shiro 提供的JdbcRealm来实现,,也可以自定义realm来实现.使用jdbcRealm往往也不够灵活.所以在实际应用中大多数情况都是自定义Realm来实现. 2,自定义Realm 需要继承 AuthorizingRea…
ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettings> 2 <add key="LogInfoProvider" value="Cookie" />//登录信息保存方式 3 </appSettings> 但是这些配置都是单个字符串信息,在某些情况下,无法做到灵活配置. 针对这种情况,使用…
SpringBoot学习笔记:自定义拦截器 快速开始 拦截器类似于过滤器,但是拦截器提供更精细的的控制能力,它可以在一个请求过程中的两个节点进行拦截: 在请求发送到Controller之前 在响应发送到Client之前 例如,你可以使用拦截器在将请求发送到控制器之前添加请求头,并在将响应发送到客户端之前添加响应标头. 创建拦截器 创建一个拦截器,需要实现HandlerInterceptor接口,他有三个方法来完成拦截 preHandle(): 用于在将请求发送到控制器之前执行操作.此方法应返回t…
今天来看一下自定义标签的内容,自定义标签是JavaWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面就来看一下自定义标签的简介: 自定义标签主要用于移除Jsp页面中的java代码. 移除jsp页面中的java代码,只需要完成两个步骤: 编写一个实现Tag接口的Java类,并覆盖doStartTag方法,把jsp页面中的java代码写到doStartTag方法中. 编写标签库描述符(tld)文件,在…
首先,不知道大家在前面的例子中没有试着搜索文本串,就是在第二节,我们添加了很多文档.如果字段值是一个文本.你如果只搜索这个字段的某个单词,是不是发现搜不到? 这就是因为我们没有配置Analyzer,因此在搜索的时候会“全匹配”.可以从直观感觉上理解为SQL的  like和= 的区别. 通过前面这段引文,我们就能知道:Analyzer就是分析我们的文本的. 一般来说:solr.TextField类型的字段才需要分析器. 最简单的配置分析器的如下:   <fieldType name="nam…
public void SetAnalysis() { if (!client.IndexExists("employee").Exists) { client.CreateIndex("employee", i => i.Settings( s => s.Analysis(a => a.CharFilters(c=>c.Mapping("&_to_and",m=>m.Mappings("&…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
首先声明下,本文为笔者学习<OpenGL ES应用开发实践指南(Android卷)>的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载. 在Android.iOS等移动平台上,开发者可以使用跨平台应用编程接口创建二维或者三维图形,或进行图像处理和计算机视觉应用,结合两者将能构建丰富有趣的交互体验.前者称为OpenGL,后者称为OpenCV,不过本文主要介绍前者,OpenCV在后续文章中涉及.OpenGL应用于桌面系统的历史已经很长了,但考虑到移动平台的特点(计算能力.性能等),将…
工作中项目需要extjs,所以学习一下,做个笔记防止遗忘了.以后回忆起来也方便. 首先下载extjs官网地址:http://extjs.org.cn/ 下载以后的目录结构: 先写一个入门的程序吧自定义类实现 新建web项目. 导入js文件. 项目中引用. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="Content-Type&q…
一.Struts2的拦截器 1.1 拦截器概述 拦截器,在AOP( Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作.拦截是AOP的一种实现策略. 在 Webwork的中文文档的解释为-拦截器是动态拦截 Action调用的对象.它提供了一种机制可以使开发者可以定义在一个 action执行的前后执行的代码,也可以在一个 action执行前阻止其执行.同时也是提供了一种可以提取 action中可重用的部分的方式. 谈到拦截…
编写一个网络应用程序需要实现某种编解码器,编解码器的作用就是讲原始字节数据与自定义的消息对象进行互转.网络中都是以字节码的数据形式来传输数据的,服务器编码数据后发送到客户端,客户端需要对数据进行解码,因为编解码器由两部分组成: Decoder(解码器) Encoder(编码器) 解码器负责处理"入站"数据,编码器负责处理"出站"数据.编码器和解码器的结构很简单,消息被编码后解码后会自动通过ReferenceCountUtil.release(message)释放.…
自定义配置信息的高级应用 通过上篇博文对简单的自定义配置信息的学习,使得更加灵活的控制系统配置信息.实际项目中,这种配置的灵活度往往无法满足项目的灵活度和扩展性. 比如,一个配置信息有三部分组成,而每部分中有包括一些配置信息.仅仅使用简单的自定义配置无法满足,因此,需要提供更多的自定义配置方法来灵活实现. 针对配置信息中包括配置列表和配置项的要求,主要使用.Net Framework中的以下两个类来实现: ConfigurationElement:配置文件中的一个配置项 Configuratio…
本文主要内容: 1.路由一个文档到一个分片 2.新建.索引和删除请求 3.取回单个文档 4.局部单个文档 5.多文档模式 6.理解一下ES深度分页(from-size)的劣势 路由一个文档到一个分片 当索引一个文档的时候,文档会被存储到一个主分片中. Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片 1 还是分片 2 中呢? 首先这肯定不会是随机的,否则将来要获取文档的时候我们就不知道从何处寻找了.实际上,这个过程是根据下面…
从今年春节后开始学习OpenGL ES,发现网上资料很有限,而且良莠不齐,所以整理了一下我学习时用到的资料和一些心得. 1. OpenGL ES1.x参考资料 把NEHE的教程移植到了Android上,当然用的是ES1 http://insanitydesign.com/wp/projects/nehe-android-ports/ 2. OpenGL ES2.x参考资料 有很多Android上ES2应用的文章 http://tangzm.com/blog/?p=20 特别好的书,网上有英文版p…
1:es中的分页 一般搜索引擎中的分页都不会提供很大的页面查询,因为查询的页码越大,查询效率越低. 例子: 我们就先预想一下我们在搜索一个拥有5个主分片的索引.当我们请求第一页搜索的时 候,每个分片产生自己前十名,然后将它们返回给请求节点,然后这个节点会将50条 结果重新排序以产生最终的前十名. 现在想想一下我们想获得第1,000页,也就是第10,001到第10,010条结果,与之前同理, 每一个分片都会先产生自己的前10,010名,然后请求节点统一处理这50,050条结果 ,然后再丢弃掉其中的…
 自定义Realm实现身份认证 先来看下Realm的类继承关系: Realm接口有三个方法,最重要的是第三个方法: a) String getName():返回此realm的名字 b) boolean supports(AuthenticationToken token) :好像是说,判断是哪个类型的token c)* AuthenticationInfo getAuthenticationInfo(AuthenticationToken token) throws Authentication…
首先申明下,本文为笔者学习<OpenGL ES应用开发实践指南(Android卷)>的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载. <Android学习笔记--OpenGL ES的基本用法.绘制流程与着色器编译>中实现了OpenGL ES的Android版HelloWorld,并且阐明了OpenGL ES的绘制流程,以及编译着色器的流程及注意事项.本文将从现实世界中图形显示的角度,说明OpenGL ES如何使得图像在移动设备上显示的更加真实.首先,物体有各种颜色…