
搜索引擎,爬虫
文章平均质量分 82
xiaomin_____
努力~~
展开
-
使用spark访问elasticsearch的数据
使用spark访问elasticsearch的数据,前提是spark能访问hive,hive能访问eshttp://blog.csdn.net/ggz631047367/article/details/504458321.配置cp elasticsearch-hadoop-2.1.1/dist/elasticsearch-hadoop-2.1.1.jar /usr/local/spark-1....原创 2016-04-21 10:34:31 · 130 阅读 · 0 评论 -
利用 Heritrix 构建特定站点爬虫
http://www.ibm.com/developerworks/cn/opensource/os-cn-heritrix/ 本文由浅入深,详细介绍了 Heritrix 在 Eclipse 中的配置、运行。最后对其进行扩展,介绍如何实现只抓取特定网站的页面。通过本文,读者可以了解 Heritrix 的相关特点以及在 Eclips...原创 2015-06-18 11:19:15 · 96 阅读 · 0 评论 -
Heritrix maven
Heritrix是一个比较经典的开源爬虫,本人打算用它来做一些数据采集应用网上关于heritrix系列的博文 大多是老版本的(1.14.4版本),Heritrix 3.1.0版本的文章则极其稀少由于新的版本相对老版本改动比较大,所以本人不能循老版本的套路了(Heritrix 3.1.0 版本引入spring容器管理,相对增强了对spring熟悉的开发人员的亲和性) 首先介绍新的H...原创 2015-06-18 11:25:01 · 102 阅读 · 0 评论 -
Heritrix3.0教程(四) CrawlJob控制台界面(一) 大概介绍
本博客属原创文章,转载请注明出处: http://guoyunsky.iteye.com/blog/1744459 本人新浪微博:http://weibo.com/guoyunwb 我觉得Heritrix很直观的一点就是有控制台,但以前我忽略了这个功能,直接代码启动Heritrix,然后放在Tomcat里.后期才慢慢发现一个UI界面的价值.可以很方便的获知抓...原创 2015-06-18 15:57:52 · 102 阅读 · 0 评论 -
防止网页被搜索引擎爬虫和网页采集器收录的方法汇总
最常规的防止网页被搜索引擎收录的方法是使用robots.txt,但是这样做的弊端是要将所有已知的搜索引的爬虫信息都罗列进去,难免有疏漏。下面的这些方法是可以标本兼治的:(摘编自http://www.javaeye.com/problems/18438) 1、限制IP地址单位时间的访问次数 分析:没有哪个常人一秒钟内能访问相同网站5次,除非是程序访问,而有这种喜好的,就剩下搜索引擎爬虫和讨...原创 2015-06-19 09:33:57 · 242 阅读 · 0 评论 -
什么是垂直搜索引擎?
垂直搜索是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对网页库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。垂直搜索引擎和普通的网页搜索引擎的最大区别是对网页信息进行了结构化信息抽取,也就是将网页的非结构化数据抽取成特定的结构化信息数据,好比网页搜索是以网页为最小单位,基于视觉的网页块分析是以网页块为最小单位,而垂直搜索是以结构化数据...原创 2015-06-19 09:34:25 · 240 阅读 · 0 评论 -
robots协议
2013年2月8日北京市第一中级人民法院正式受理了百度诉奇虎360违反“Robots协议”抓取、复制其网站内容的不正当竞争行为一案,索赔金额高达一亿元,这可以看做2012年下半年“3B大战”的继续。在此次索赔案件中,百度称自己的Robots文本中已设定不允许360爬虫进入,而360的爬虫依然对“百度知道”、“百度百科”等百度网站内容进行抓取。其实早在2012年11月初,针对双方摩擦加剧的情况...原创 2015-06-19 09:35:38 · 212 阅读 · 0 评论 -
网络爬虫基本原理
网络爬虫是捜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。这篇博客主要对爬虫以及抓取系统进行一个简单的概述。一、网络爬虫的基本结构及工作流程 一个通用的网络爬虫的框架如图所示: 网络爬虫的基本工作流程如下: 1.首先选取一部分精心挑选的种子URL; 2.将这些URL放入待抓取URL队列; ...原创 2015-06-19 09:39:41 · 134 阅读 · 0 评论 -
Storm, Spark, Hadoop
本帖最后由 oracle_cj 于 2014-2-19 21:12 编辑1、大数据核心是什么?“大数据”作为时下最火热的IT行业的词汇,随之而来的数据仓库、数据安全、数据分析、数据挖掘等等围绕大数据的商业价值的利用逐渐成为行业人士争相追捧的利润焦点。大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取...原创 2015-06-21 17:50:49 · 116 阅读 · 0 评论 -
elasticsearch配置小记
基于 elasticsearch 1.4.4 版本.安装方式为RPM安装.所有涉及路径需根据实际情况来设置判断.0x01 内存调整调整ES内存分配有多种方式,建议调整 /etc/sysconfig/elasticsearch 中的设置(还可以直接修改bin下的启动脚本).# Directory where the Elasticsearch binary distributio...转载 2016-04-28 10:00:56 · 125 阅读 · 0 评论 -
Elasticsearch refresh vs. flush
Elasticsearch refresh vs. flush问:若一个新的文档索引进ES索引,则它在索引操作执行后约1s可以搜索到。然而我们可以直接调用_flush或者_refresh对索引进行操作。那么这两者有什么区别呢——看起来这两个操作的结果都类似,文档都是立即可以被搜索的?答:我们详细解释一下这两种操作:refresh操作有效地对Lucene index read...原创 2016-05-04 09:56:14 · 149 阅读 · 0 评论 -
elasticsearch集群监控工具bigdesk
bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu、内存使用情况,索引数据、搜索情况,http连接数等。项目git地址: https://github.com/lukas-vlcek/bigdesk。和head一样,它也是个独立的网页程序,使用方式和head一样。插件安装运行:方法1:1.bin/plugin -insta...原创 2016-05-04 09:56:37 · 270 阅读 · 0 评论 -
es function_score查询 归元化
package com.cmall.search.es;import org.elasticsearch.index.query.BoolQueryBuilder;import org.elasticsearch.index.query.QueryBuilders;import org.elasticsearch.index.query.functionscore.Functi...原创 2016-05-05 10:09:04 · 313 阅读 · 0 评论 -
CQRS架构
命令查询的责任分离Command Query Responsibility Segregation (简称CQRS)模式是一种架构体系模式,能够使改变模型的状态的命令和模型状态的查询实现分离。这属于DDD应用领域的一个模式,主要解决DDD在数据 库报表输出上处理方式。 Greg Young在infoQ的采访中“State Transitions in Domain-Driven Desi...原创 2016-05-07 23:27:14 · 224 阅读 · 0 评论 -
在YARN上运行ElasticSearch
这么做的目的,主要是为了统一资源管理(cpu和内存)。一体化平台,spark,es ,mr等都在一起跑的时候,做好资源的调度。 在故事开始之前,先去把插件下载了。 插件地址 安装主要参考了官方文档 [root@master nq]# hadoop jar elasticsearch-yarn-2.1.0.BUILD-SNAPSHOT.jarNo comman...原创 2016-05-08 08:58:05 · 206 阅读 · 0 评论 -
robots协议
robots.txt文件是一个文本文件,使用任何一个常见的文本编辑器,比如Windows系统自带的Notepad,就可以创建和编辑它[1] 。robots.txt是一个协议,而不是一个命令。robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在ro...原创 2015-06-28 12:34:27 · 199 阅读 · 0 评论 -
Elasticsearch 分片交互过程分析
一、Elasticseach如何将数据存储到分片中问题:当我们要在ES中存储数据的时候,数据应该存储在主分片和复制分片中的哪一个中去;当我们在ES中检索数据的时候,又是怎么判断要查询的数据是属于哪一个分片。 数据存储到分片的过程是一定规则的,并不是随机发生的。 规则:shard = hash(routing) % number_of_primary_sha...原创 2016-05-11 15:12:38 · 94 阅读 · 0 评论 -
控制Elasticsearch分片和副本的分配
ES集群中索引可能由多个分片构成,并且每个分片可以拥有多个副本。通过将一个单独的索引分为多个分片,我们可以处理不能在一个单一的服务 器上面运行的大型索引,简单的说就是索引的大小过大,导致效率问题。不能运行的原因可能是内存也可能是存储。由于每个分片可以有多个副本,通过将副本分配 到多个服务器,可以提高查询的负载能力。为了进行分片和副本的操作,ES需要确定将这些分片和副本放到集群节点的哪个...原创 2016-05-11 15:27:25 · 133 阅读 · 0 评论 -
elasticsearch之cluster模块
1:shard allocation分片分配就是将索引的各个分片合理的分布到各个节点上去。这个过程可能发生在以下场景下:初始化(重启恢复),副本分配,平衡,节点加入,节点移除。es在这个模块对应的设置有:cluster.routing.allocation.allow_rebalance: 根据集群状态是否允许平衡操作,什么时机可以平衡。选项有:always, indices_p...原创 2016-05-11 15:37:27 · 193 阅读 · 0 评论 -
ElasticSearch 同步副本方式
DistributededitThe index operation is directed to the primary shard based on its route (see the Routing section above) and performed on the actual node containing this shard. After the primary ...原创 2016-05-11 16:32:27 · 1876 阅读 · 0 评论 -
实例展示elasticsearch集群生态,分片以及水平扩展.
elasticsearch用于构建高可用和可扩展的系统。扩展的方式可以是购买更好的服务器(纵向扩展)或者购买更多的服务器(横向扩展),Elasticsearch能从更强大的硬件中获得更好的性能,但是纵向扩展也有一定的局限性。真正的扩展应该是横向的,它通过增加节点来传播负载和增加可靠性。对于大多数数据库而言,横向扩展意味着你的程序将做非常大的改动来利用这些新添加的设备。对比来说,Elastics...原创 2016-05-11 16:50:22 · 148 阅读 · 0 评论 -
HttpClient4.0 Http连接池技术简介
连接池技术作为创建和管理连接的缓冲池技术,目前已广泛用于诸如数据库连接等长连接的维护和管理中,能够有效减少系 统的响应时间,节省服务器资源开销。其优势主要有两个:其一是减少创建连接的资源开销,其二是资源的访问控制。连接池管理的对象是长连接,对于HTTP连 接是否适用,我们需要首先回顾一下长连接和短连接。 所谓长连接是指客户端与服务器端一旦建立连接以后,可以进行多次数据传输而不需重...原创 2016-05-24 17:29:40 · 425 阅读 · 0 评论 -
HttpClient4.0 Http连接池 长连接
/* * ==================================================================== * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE ...原创 2016-05-24 17:44:03 · 941 阅读 · 0 评论 -
HTTP Keep-Alive模式
故事发生在10月份的一次面试经历中,本来我不想说出来丢人显眼,但是为了警醒自己和告诫后人,我决定写成博文发出来。因为在面试过程中,我讲在2009年写过QQ农场助手,在这期间深入学习了HTTP协议,而且在2010-05-18写了博文:HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等。面试官说既然我熟悉HTTP协议,就问“当HTTP采用keepalive模式,...原创 2016-05-25 23:33:49 · 103 阅读 · 0 评论 -
在elasticsearch里如何高效的使用filter [性能优化必看]
这里有一篇很好的文章,很不错,翻译和整理了一下,英文不错的,建议直接看原文:http://euphonious-intuition.com/2013/05/all-about-elasticsearch-filter-bitsets/elasticsearch里面有BOOL filter、AND、OR、NOT filter,这几个看起来很相似,都有什么区别呢?什么时候用boolfilter...原创 2016-06-12 17:20:53 · 346 阅读 · 0 评论 -
开源搜索引擎评估:lucene sphinx elasticsearch
开源搜索引擎程序有3大类lucene系,java开发,包括solr和elasticsearchsphinx,c++开发,简单高性能Xapian,c++开发搜索引擎程序这个名称不妥当,严格说来应该叫做索引程序(indexing program),早期主要用来做中文全文搜索,但是随着互联网的深入普及,各家网站规模越来越大,索引程序在 优化网站架构上发挥了更大的作用:替代m...原创 2015-07-31 11:56:54 · 159 阅读 · 0 评论 -
使用Java调用ElasticSearch提供的相关API进行数据搜索完整实例演示
安装包下载当前最新版本为:0.20.6http://www.elasticsearch.org/download/ 官方视频教程http://www.elasticsearch.org/videos/Window环境下载完解开有以下个包:bin是运行的脚本,config是设置文件,lib是放依赖的包。启动解压目录下的bin名称的文件夹,双击elasticsearch.bat文件,就...原创 2015-07-31 13:43:08 · 137 阅读 · 0 评论 -
开源搜索引擎的比较
1. Lucene及其变种LunceneLucene的开发语言是Java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索程序,它提供了完整的查询引擎和索引引擎,没有中文分词引擎,需要自己去实现,因此用Lucene去做一个搜素引擎需要自己去架构.另外它不支持实时搜索,但linkedin和twitter有分别对Lucene改进的实时搜素. 其中Lucene...原创 2015-08-05 22:38:13 · 170 阅读 · 0 评论 -
elasticsearch集群搭建
之前对于CDN的日志处理模型是从 logstash agent==>>redis==>>logstash index==>>elasticsearch==>>kibana3,对于elasticsearch集群搭建,可以把索引进行分片存储,一个索引可以分成若干个片,分别存储到集群里面,而对于集群里面的负载均衡,副本分配,索引动态均衡(根据节点的增加或...原创 2015-08-06 10:03:05 · 106 阅读 · 0 评论 -
elasticsearch RESTful搜索引擎-(java jest 使用[入门])
elasticsearch简称ESjest好吧下面我介绍下jest(第三方工具),个人认为还是非常不错的...想对ES用来更好,多多研究源代码吧...迟点,会写一些关于ES的源代码研究文章,现在暂时还是入门的阶段.哈..(不敢,不敢)它是ES的java客户端,基于http restful...jest是开源的....其他就不清楚了,看源代码吧..哈.如果对ES不了解请看...原创 2015-08-06 11:09:58 · 193 阅读 · 0 评论 -
ElasticSearch安装ik分词插件
对于索引可能最关系的就是分词了 一般对于es 来说默认的smartcn 但效果不是很好 一个是ik的,一个是mmseg的,下面分别介绍下两者的用法,其实都差不多的,先安装插件,命令行:安装ik插件plugin -install medcl/elasticsearch-analysis-ik/1.1.0下载ik相关配置词典文件到config目录cd configwg...原创 2015-08-06 23:21:09 · 286 阅读 · 0 评论 -
Lucene查询语法详解
Lucene提供了丰富的API来组合定制你所需要的查询器,同时也可以利用Query Parser提供的强大的查询语法解析来构造你想要的查询器。本文章详细的介绍了Lucene的查询语法。通过Java语法分析器把一个查询字符串解析成 Lucene的查询器。在你选择使用Query Parser前,请考虑以下事项:如果你打算在程序中拼接查询语法串然后再利用Query Parser转换,那么强烈建议你利用...原创 2015-08-09 22:21:57 · 113 阅读 · 0 评论 -
lucene的使用详解
介绍开源软件搜索引擎——lucene的各个实现的功能,性能,以及代码分析1.2. 背景分析的系统名称Lucene该开源主页http://lucene.apache.org/开发语言JAVA该系统的分析者zzpchina该系统作者简介Lucene的贡献者...原创 2015-08-10 09:35:39 · 145 阅读 · 0 评论 -
Elasticsearch(查询详解)
Elasticsearch查询类型Elasticsearch支持两种类型的查询:基本查询和复合查询。 基本查询,如词条查询用于查询实际数据。 复合查询,如布尔查询,可以合并多个查询, 然而,这不是全部。除了这两种类型的查询,你还可以用过滤查询,根据一定的条件缩小查询结果。不像其他查询,筛选查询不会影响得分,而且通常非常高效。 更加复杂的情况,查询可以包含其他查询。此外,一些查询可以包含过滤器...原创 2016-07-01 09:57:23 · 179 阅读 · 0 评论 -
OKHttp使用简介
现在Android网络方面的第三方库很多,volley,Retrofit,OKHttp等,各有各自的特点,这边博客就来简单介绍下如何使用OKHttp。梗概OKHttp是一款高效的HTTP客户端,支持连接同一地址的链接共享同一个socket,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势 OKHttp官网配置环境支持Android 2.3及其以上版本,要求j...原创 2016-07-01 10:06:20 · 127 阅读 · 0 评论 -
ElasticSearch Recovery 分析
上周出现了一次故障,recovery的过程比较慢,然后发现Shard 在做恢复的过程一般都是卡在TRANSLOG阶段,所以好奇这块是怎么完成的,于是有了这篇文章这是一篇源码分析类的文章,大家需要先建立一个整体的概念,建议参看 这篇文章另外你可能还需要了解下 Recovery 阶段迁移过程:INIT -> INDEX -> VERIFY_INDEX -> TRANS...原创 2016-07-02 11:11:42 · 302 阅读 · 0 评论 -
为何大量网站不能抓取?爬虫突破封禁的6种常见方法
在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长。今天大众好像更倾向于用“网络数据采集”,有时会把网络数据采集程序称为网络机器人(bots)。最常用的方法是写一个自动化程序向网络服务器请求数据(通常是用 HTML 表单或其他网页文件),然后对数据进行解析,提取需要的信息。 本文假定读者已经了解如何用代码来抓取一个远程的 URL,并具备表单如何提交及 JavaS...原创 2016-07-05 10:05:52 · 445 阅读 · 0 评论 -
elasticsearch query delete 方法
删除api允许从特定索引通过id删除json文档。有两种方法,一是通过id删除,二是通过一个Query查询条件删除,符合这些条件的数据都会被删除。 一、通过id删除 下面的例子是删除索引名为twitter,类型为tweet,id为1的文档: [java] view plaincopy DeleteResponse response = client.prepareDelete("twitter...原创 2016-07-08 10:15:18 · 201 阅读 · 0 评论 -
如何使用Elasticsearch groovy script脚本更新数据
今天细说一下elasticsearch的update更新功能,以及如何利用script脚本更新数据。 想要使用script脚本功能,需要在配置文件elasticsearch.yml里设置 Pythonscript.disable_dynamic: false script.disable_dynamic:false 关于elasticse...原创 2016-07-22 10:52:43 · 837 阅读 · 0 评论 -
es 字段 replace
Husk Mit Navn232 丹麦 艺术家 哥本哈根 幽默 纸上 纸上艺术 立体插画 插花艺术 三维 立体感 创意22 脑洞大开 纸艺创意22type/type/1/_update{ "script" : "ctx._source.tagName=ctx._source.tagName.replace(\" 创意22 \",\" 创意55 \")"} { "script" ...原创 2016-07-22 10:53:00 · 564 阅读 · 0 评论