Eclipse常用快捷键 Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。 1. 【ALT+/】 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。 2. 【Ctrl+O】 显示类中方法和属
ElasticSearch(十三)-全文搜索(精度控制) 全文(full-text)检索如果一个date或int字段,被认为日期或整数。如果检索not_analyzed字段,他们会把整个查询作为一个短语。如果检索一个全文字段,查询会先用解析器解析查询语句,产生需要查询的短语列表,对每个短语进行低级查询,合并结果。 1.匹配查询match query2.多词查询 提高精度: GET /my_index/my_typ
ElasticSearch(十二)-结构化搜索 结构化不关心文档的相关性或分数,只是简单的包含或排除。1.查找准确值 (1)过滤器查找匹配文档(2)创建字节集[1,0,0,0] (3)字节集存在内存中,我们能跳过1和2,能提升性能。 2.组合过滤 Must、must_not、should 3.查询多个准确值 Terms格式如: { "terms" : { "pri
ElasticSearch(十一)-深入分片 1.文本搜索 倒排索引存储写入磁盘的倒排索引是不可改变的:(1)不需要锁(2)一旦写入内存,因为不需改变,所以一直在那,有助性能(3)压缩数据,减少IO和内存大小占用 2.动态索引??段是不可改变的,文档不能从旧的段中删除,每个文档被删除只是.del文件中被标记删除,依然可以匹配查询,只是最终返回前被移除结果集中。更新就是先删除后插入 3.近实时搜索
ElasticSearch(十)-索引管理 1.创建删除创建:put /myidnex{ “setting”:{}, “mapping”:{}}防止自动创建:可以在elasticsearch.yml中添加action.anto.create_index:false删除:delete /myindex1,myindex2delete /_all2.索引设置 number_of_shards主分片数,默认5
ElasticSearch(九)-分布式搜索 搜索的执行过程分为两个阶段:查询后取回1.查询阶段 查询被向索引中每个分片副本广播,每个分片在本地执行搜索并建立匹配文档的优先队列。GET /_search{ "from": 90, "size": 10}这个优先队列的能容纳100个文档查询分为三步:如图可视化:(1)客户端发送一个search搜索请求给请求体node3,node3创建
ElasticSearch(八)-排序(相关性算法) 1.排序 Sort排序,如果是date,会转化成毫秒数; 如果强制计算其相关性,可以设置track_scores为true 默认排序:字段默认顺序排序,_score默认倒序 GET /_search?sort=date:desc&sort=_score&q=search "sort": { "dates": { "order": "asc",
ElasticSearch(七)-结构化查询 1.请求体查询 要点:GET /_search{ "from": 30, "size": 10}进行分页 2.DSL应该单独学习;3.查询与过滤 一个查询语句会计算每个文档与查询语句的相关性,会给出一个相关评分_score; 一般情况下:经过花村的过滤查询要远胜一条查询语句的执行效率 4.重要的查询过滤语句 term过滤:精
ElasticSearch(六)-映射和分析过程 1.数据类型差异 不同类型的索引方式是不一样的,导致查询结果不一样;2.确切值和全文 确切值是确定的,比如foo和Foo不同 全文文本常常被称为高度结构化数据,而不是非结构化的数据 @为了方便全文文本字段中进行搜索查询,ES首先对文本进行分析,然后使用结果建立一个倒排索引。 3.倒排索引 倒排索引inverted index进行快速的全文检索;
ElasticSearch(五)-搜索 ES可以结构化查询,也可以进行全文检索需要理解三个概念:Mapping、Analysis、Query DSL 1.空搜索 GET /_search响应:{ "hits" : { "total" : 14, "hits" : [ { "_index": "us", "_
ElasticSearch(四)-分布式文档存储 1.路由文档存储在分片的算法shard =hash(routing) % number_of_primary_shardsrouting值是一个任意字符串,默认为_id,可以自定义;从这可以看出,主分片的数量不能改变,假如改变文档的路由将全部失效。2.分片交互当我们发送请求,最好的做法是循环通过所有节点请求,这样可以平衡负载。3.新建和索引和删除文档
ElasticSearch(三)-数据 数据吞吐 存储的格式为json格式文档; ES中每个字段的数据是默认被索引的;有一点需要注意,索引数据的操作只会发生在主分片(primary shard)上,而不会发生在分片副本(Replica)上。如果索引数据的请求发送到的节点没有合适的分片或者分片是副本,那么请求会被转发到含有主分片的节点。 1. 文档在ES中特指被序列化成json格式的数据其中一个文档
ElasticSearch(二)-分布式集群 1.空集群 一个节点就是es实例,具有相同的clustername;多个节点协同工作,分享数据,平衡负载,自动感应节点并平衡数据。主节点被自主选出,且不参与文档级别的变更与搜索。 2.集群监控GET/_cluster/health其中status字段颜色意义green所有主要分片和复制分片都可用
linux各种解压命令 列出各种常用解压命令 1、*.tar 用 tar –xvf 解压 2、*.gz 用 gzip -d或者gunzip 解压 3、*.tar.gz和*.tgz 用 tar –xzf 解压 4、*.bz2 用 bzip2 -d或者用bunzip2 解压 5、*.tar.bz2用tar –xjf 解压 6、*.Z 用 uncompress 解压 7、*.tar.Z 用tar –
ElasticSearch之常用插件安装命令 #head监控安装,推荐bin/plugin -install mobz/elasticsearch-head#bigdesk集群状态,推荐bin/plugin -install lukas-vlcek/bigdesk#marvel监控安装bin/plugin -i elasticsearch/marvel/latest#es-sql安装,网页内有详细说明https://git
ElasticSearch之动态mapping模板 如果我们每天都要新建索引,而mapping需要提前设置,这个时候就需要用到动态模板;每日凌晨新建索引时,匹配template的索引即可自动创建mapping。下面有个模板的例子,供大家参考:(只要匹配news_wordcloud*的索引即可自动创建type为cms的mapping)#模板curl -XPUT localhost:9200/_template/template_news
前端之实现缩略图展示网页 有的时候,我们想对我们项目下的网页进行缩略图的展示,如下效果: 如果要实现上面的展示网页,需要三个步骤:1. 生成网页的快照;2. 把网页快照生成合适大小的缩略图;3. 根据上面缩略图生成展示网页。Ps:常见安装错误,请见本文档最后。一、生成网页的快照所谓生成网页的快照,就是对网页进行截图,我们这里用phantomjs来实现。
Logstash之关系型数据库(mysql或oracle)数据入ElasticSearch 有的时候我们想把mysql或oracle中的数据导入到es中,有很多种方式,这里介绍一种很简单的方式,利用Logstash的jdbc-input插件可以实现。官方文档链接查看:https://www.elastic.co/guide/en/logstash/2.1/plugins-inputs-jdbc.html 譬如我们想把mysql中某一张表导入到ES中,Logstash的conf
Logstash之时区问题的建议和修改 大家在用Logstash收集日志时,发现@timestamp的时间比本地早8个小时,这是正常的,因为这个时间是UTC时间,日志应统一采用这个时间。原则上建议大家不要修改这个时间戳:时区问题的解释很多中国用户经常提一个问题:为什么 @timestamp 比我们早了 8 个小时?怎么修改成北京时间?+其实,Elasticsearch 内部,对时间类型字段,是统一采用 UTC 时间
程序猿,千万别说你不了解Docker! 1dotCloud到Docker:低调奢华有内涵 写在前面:放在两年前,你不认识Docker情有可原。但如果现在你还这么说,不好意思,我只能说你OUT了。你最好马上get起来,因为有可能你们公司很快就会引入Docker。今天就和大家讨论讨论这个备受好评的应用,让我们来揭开他的真面目! 点击下载报告 【一】从dotCloud到Docker--