搜索引擎研究nutch
WitsMakeMen
这个作者很懒,什么都没留下…
展开
-
maven使用
mvn 打包:mvn clean package -Dmaven.test.skip=true -P dev原创 2018-07-03 20:03:27 · 195 阅读 · 0 评论 -
Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理
转自:https://blog.csdn.net/njpjsoftdev/article/details/54015485 基于Lucene检索引擎我们开发了自己的全文检索系统,承担起后台PB级、万亿条数据记录的检索工作,这里向大家分享下Lucene底层原理研究和一些优化经验。 从两个方面介绍: 1. Lucene简介和索引原理 2. Lucene优化经验总结Lu...转载 2018-05-09 20:11:33 · 409 阅读 · 0 评论 -
Lucene学习总结之一:全文检索的基本原理
转自:https://blog.csdn.net/forfuture1978/article/details/4711308 一、总论根据http://lucene.apache.org/java/docs/index.html 定义:Lucene 是一个高效的,基于Java 的全文检索库。所以在了解Lucene之前要费一番工夫了解一下全文检索。那么什么叫做全文检索呢?这要从我们...转载 2018-05-09 17:19:38 · 203 阅读 · 0 评论 -
互联网网站的反爬虫策略浅析--转载
今天路上时间有点长,路上看了一篇robbin一篇很早的博客,觉得不错,扩展了视野,总结一把,顺便转载呵呵。防止爬虫干扰正常访问的方法:1、监控TCP连接(netstat查看80的端口),这个比较常用;2、分析web请求中的User-Agent和refer信息;3、搞个计数器,把特定ip一天内的总次数和每秒内的频率记录下来,达到实时拦截的目的(这个类似淘宝的TMD,用原创 2014-01-02 11:12:29 · 3486 阅读 · 0 评论 -
庖丁配置文件加载问题PaodingAnalysisException
加载庖丁分词器的时候,出现了下面的错误:net.paoding.analysis.exception.PaodingAnalysisException: please set a system env PAODING_DIC_HOME or Config paoding.dic.home in paoding-dic-home.properties point to the dictionar原创 2013-05-01 19:18:39 · 3693 阅读 · 1 评论 -
nutch配置到MyEclipse中出现org.apache.nutch.plugin.PluginRuntimeException
想把nutch-1.2的源码加载到MyEclipse中,所有的文件都加载成功了,而且在MyEclipse中也没有错误,然后运行Crawl.java类出现了下面的错误。org.apache.nutch.plugin.PluginRuntimeException: java.lang.ClassNotFoundException: org.apache.nutch.net.urlnormalize原创 2013-05-01 16:24:21 · 2467 阅读 · 0 评论 -
将nutch源码配置到MyEclipse中出现java.lang.OutOfMemoryError: Java heap space错误
想将nutch源码配置到MyEclipse中,但是发现运行时出现了下面的错误,通过网上找答案发现时给程序分配的内存栈太小:java.lang.OutOfMemoryError: Java heap space at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.(MapTask.java:781) at org.apache.hado原创 2013-05-01 10:25:26 · 2053 阅读 · 0 评论 -
如何得到nutch中配置类Configuration中所有的配置信息
System.out.println("conf=="+getConf().size()); Iterator> i=getConf().iterator(); int count=0; while(i.hasNext()){ Entry e=i.next(); System.out.println((++count)+" getKey=="+e.ge原创 2013-05-01 11:01:33 · 1130 阅读 · 0 评论 -
如何将nutch项目加载到MyEclipse中,生成一个web project
nutch项目其实分为五部分组成:程序源码,程序依赖的软件包,扩展插件,程序配置文件和网页源码要想将项目加载到MyEclipse(eclipse也是同样的)中,只需要将上面五部分复制到MyEclipse中,配置好路径就可以了,下面介绍具体的操作步骤:(1)首先在MyEclipse中建立一个Web Project。(2)然后先将源码复制过来,复制的时候不能直接复制包,你需要看nutch源原创 2012-09-12 19:05:51 · 3555 阅读 · 0 评论 -
将nutch-1.4加载到eclipse中
网络上关于nutch1.4的配置和使用很少,官方网站提供的方法我研究了半天特别麻烦,而且发现弄完后有的依赖包找不到,我决定放弃使用。将这两天关于nutch1.4配置的另一种方法整理一下 仅供参考!如有其它问题欢迎加1277140354一起交流学习!1、 配置安装JDK省略。我用的是JDK1.6,JDK6官方下载地址:http://www.java.net/download/jdk6/6u10/转载 2013-04-29 10:14:06 · 1532 阅读 · 0 评论 -
nutch和solr配置实用
1.1nutch和solrNutch是一个开源的、Java实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。Solr拥有像web-services API的独立的企业级搜索服务器。用XML通过HTTP向它添加文档(称为做索引),通过HTTP查询返回XML结果。1.2研究nutch的原因可能有的朋友会有疑问,我们有google,有百度,为何还需要建立自转载 2012-12-04 16:07:09 · 16309 阅读 · 0 评论 -
nutch和solr配置学习
Nutch和Solr是两个由Apache成员创建的实用工具,你可以使用Nutch抓取网页,使用Solr索引你得到的数据。除了索引各类网站,这些工具还有很多其他功能,本文将不涉及这些,而是一篇针对如何使用Nutch抓取网页并使用Solr索引并搜索你抓取的数据的新手指南。本文将不会讨论它们如何工作的大量细节,而会告诉你如何运行一个爬虫和建立索引,我将假设你已经搭建好了tomcat服转载 2012-12-03 19:22:48 · 2376 阅读 · 0 评论 -
solr使用指南
本文转自 http://chuanliang2007.spaces.live.com/blog/cns!E5B7AB2851A4C9D2!499.entry?wa=wsignin1.0由于搜索引擎功能在门户社区中对提高用户体验有着重在门户社区中涉及大量需要搜索引擎的功能需求,目前在实现搜索引擎的方案上有集中方案可供选择:1. 基于Lucene自己进行封装实现站内搜索。工作量及扩展性都较转载 2012-12-04 10:00:16 · 1916 阅读 · 0 评论 -
我用过的nutch管理命令
bin/nutch readdb localweb/crawldb -stats:统计链接库CrawlDbbin/nutch readdb localweb/crawldb -dump pageurl:导出每个url的信息到pageurl文件夹中原创 2012-12-10 19:15:31 · 1114 阅读 · 0 评论 -
nutch部署过程中出现RuntimeException错误
nutch部署过程中出现了下面错误,主要是没有正确配置插件导致的,可以通过设置nutch-site.xml文件的plugin.folders属性解决问题 java.lang.RuntimeException: Error in configuring object at org.apache.hadoop.util.ReflectionUtils.setJobConf(Reflectio原创 2012-12-15 11:28:02 · 2895 阅读 · 2 评论 -
nutch-1.4中IndexingFilter的变化
nutch-1.4后IndexingFilter扩展点中少了一个用于添加索引Field属性的函数addIndexBackendOptions(Configuration conf),这样如果再用nutch-1.2中的LuceneWriter做索引,需要自己设置Field的属性,下面代码为nutch-1.4的IndexingFilter类源代码:/** * Licensed to the Ap原创 2012-12-13 20:07:48 · 981 阅读 · 0 评论 -
Lucene底层原理和优化经验分享(2)-Lucene优化经验总结
转自:https://blog.csdn.net/njpjsoftdev/article/details/54133548系统优化遵从木桶原理:一只木桶能盛多少水,并不取决于最高的木板,而取决于最短的那块木板。Lucene优化也一样,找到性能瓶颈,找对解决方法,才能事半功倍,本文将从三方面阐述我们的Lucene优化经验: 1. 找准方向 -> Lucene性能瓶颈分析。 ...转载 2018-05-09 20:12:42 · 479 阅读 · 0 评论 -
lucene的介绍与优化
链接:https://blog.csdn.net/wenxuechaozhe/article/details/51501338 最近查找了很多关于lucene的示例和代码,没有找到一个系统的内容,根据网上的资源进行下总结1 lucene简介 1.1 什么是lucene Lucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop...转载 2018-05-14 11:12:59 · 182 阅读 · 0 评论 -
elasticsearch设置默认分词器和字段指定分词器
PUT news{ "settings": { "index.analysis.analyzer.default.type": "ik_max_word" } }, "mappings": { "_doc": { "properties": { "tags": { "type原创 2018-06-29 19:18:26 · 23351 阅读 · 4 评论 -
ElasticSearch(Settings,Mappings)
转载:https://blog.csdn.net/hr787753/article/details/78415968 ElasticSearch(Settings,Mappings) 2017年11月01日 16:56:50 阅读数:438 ElasticSearch(Settings,Mappings) 1.Setting 是 针对于索引库而言 可以设置索引库的分片数量 和 副本数...转载 2018-06-29 19:12:03 · 438 阅读 · 0 评论 -
ElasticSearch 查看某个字段数据的分词结果
GET /index/index/{index}/{type}/id/termvectors?fields=id/termvectors?fields={id}/_termvectors?fields={fields_name}转载 2018-06-29 19:02:39 · 3279 阅读 · 2 评论 -
Elasticsearch 默认分词器和中分分词器之间的比较及使用方法
转自:https://segmentfault.com/a/1190000011065897 介绍:ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到...转载 2018-06-15 19:32:30 · 1282 阅读 · 0 评论 -
ElasticSearch 查看某个字段数据的分词结果
GET /index/index/{index}/{type}/id/termvectors?fields=id/termvectors?fields={id}/_termvectors?fields={fields_name}转载 2018-06-15 14:43:15 · 4347 阅读 · 0 评论 -
ElasticSearch集群配置&IK中文分词器配置
Cluster集群配置下载Elasicsearch源码:https://www.elastic.co/downloads/elasticsearch上传到服务器:scp elasticsearch.zip root@ip:/localdir配置elasticsearch.yml:主要配置discovery.zen.ping.unicast.hosts,network.host, http...原创 2018-05-30 21:16:19 · 1001 阅读 · 0 评论 -
【Elasticsearch】打分策略详解与explain手把手计算
链接:https://blog.csdn.net/molong1208/article/details/50623948 【Elasticsearch】打分策略详解与explain手把手计算 2016年02月02日 16:58:27 阅读数:15050 一、目的 一个搜索引擎使用的时候必定需要排序这个模块,一般情况下在不选择按照某一字段排序的情况下,都是按照打分的高低进行一个默认排序的,...转载 2018-06-05 15:16:14 · 417 阅读 · 0 评论 -
Lucene查询语法详解
转自:https://www.cnblogs.com/xing901022/p/4974977.html Lucene查询语法详解 Lucene查询 Lucene查询语法以可读的方式书写,然后使用JavaCC进行词法转换,转换成机器可识别的查询。下面着重介绍下Lucene支持的查询:Terms词语查询 词语搜索,支持 单词 和 语句。单词,例如:”test”,”hello” ...转载 2018-05-24 11:42:54 · 573 阅读 · 0 评论 -
Zookeeper简介
链接:https://www.w3cschool.cn/zookeeper/zookeeper_overview.html Zookeeper 概述 由 xpproen 创建,youj 最后一次修改 2016-12-27 ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKe...转载 2018-05-16 13:18:48 · 195 阅读 · 0 评论 -
SolrCloud原理
链接:https://blog.csdn.net/u011026968/article/details/50336709 本文为调研分布式检索系统的笔记整理,之前调研sphinx和coreseek的时候,发现国内的博客,还是讲怎么配置怎么安装多,原理性的东西并不多。本文为:官网文档阅读笔记(有些会附带上文档英文原文, 如果读者觉得我哪个地方说的不清楚,可以看英文)+各种原理博客+各种源码分析博客...转载 2018-05-16 11:59:10 · 234 阅读 · 0 评论 -
Solr集群的架构
链接:https://blog.csdn.net/qwlzxx/article/details/69662397 架构图最近要搭一个Solr集群,我们先来了解一下架构。架构搭建需要用到solr+zookeeper。看以下结构:要完成的集群结构如下图:我们来了解一下solr和zookeeper。SolrSolr是一个独立的企业级搜索应用服务器,它对外提供类似于Web...转载 2018-05-16 11:38:26 · 373 阅读 · 0 评论 -
lucene索引结构
(1)Lucene 4.X 倒排索引原理与实现: (3) Term Dictionary和Index文件 (FST详细解析):https://www.cnblogs.com/forfuture1978/p/3945755.html原创 2018-05-21 20:33:58 · 629 阅读 · 0 评论 -
lucene准实时检索
转自:https://www.cnblogs.com/huangfox/archive/2012/02/20/2359979.html先撇开其他的不谈,我们先看看下面几段代码,他们均能实现“实时”检索。注意:1.笔者目前采用的lucene版本为3.5.2.为了检查是否“实时”,采用了numDocs是否发生变化进行简易判断。3.请正确理解这里的提到的“实时”,并与“准实时”予以区...转载 2018-05-21 11:07:02 · 530 阅读 · 0 评论 -
lucene/solr 中Field类(域)的常用类型,以及Field属性解析
转自:https://blog.csdn.net/mine_song/article/details/58065323 Ø 是否分词(Tokenized)是:对该field存储的内容进行分词,分词的目的,就是为了索引。比如:商品名称、商品描述、商品价格否:不需要对field存储的内容进行分词,不分词,不代表不索引,而是将整个内容进行索引。比如:商品idØ 是否索引(I...转载 2018-05-14 17:20:47 · 570 阅读 · 0 评论 -
How to make searching faster
转自:https://wiki.apache.org/lucene-java/ImproveSearchingSpeed How to make searching fasterHere are some things to try to speed up the seaching speed of your Lucene application. Please see ImproveInd...转载 2018-05-14 14:49:37 · 276 阅读 · 0 评论 -
This is the official Lucene FAQ
转自:https://wiki.apache.org/lucene-java/LuceneFAQ This is the official Lucene FAQ.If you have a question about using Java Lucene, please do not add it directly to this FAQ. Join the Java User mailin...转载 2018-05-14 14:48:43 · 219 阅读 · 0 评论 -
PluginRepository负责加载nutch系统下的插件,可以通过installExtensionPoints()函数查看要加载的插件和对应路径
private void installExtensionPoints(List plugins) { if (plugins == null) { return; } for (PluginDescriptor plugin: plugins) { for(ExtensionPoint point:plugin.getExtenstio原创 2012-12-13 11:04:25 · 1005 阅读 · 0 评论 -
nutch网页快照乱码解决方法
修改nutch\cached.jsp,将content = new String(bean.getContent(details))修改为content = new String(bean.getContent(details),"utf-8")在画红框的地方加上UTF-8即可以下内容参考:http://blog.csdn.net/xiaomage_cn/archive/201转载 2012-11-15 16:35:51 · 2676 阅读 · 0 评论 -
Nutch中的Injector为什么按照url链接的个数执行多次Map()函数?
今天详细分析了一下nutch源代码,发现程序调用多次map原因:首先开始以为是LocalJobRunner的原因,因为LocalJobRunner将输入切分成了若干份rawSplits看,然后对每个分块调用MapTask线程执行处理(备注:MapTask不是Map类,他是负责管理Map类的程序,他调用MapRunner函数调用Map函数)。但后来发现不是LocalJobRunner类的原因原创 2012-07-17 18:48:22 · 800 阅读 · 0 评论 -
nutch如何根据regex-urlfilter.txt文件过滤url链接的?
今天看了一下nutch的url链接过滤插件加载和工作原理,以及他和配置文件regex-urlfilter.txt之间的关系,下面对得到的一些收获进行介绍。关系:扩展RegexURLFilter根据配置文件regex-urlfilter.txt生成一些列的规则Rule(就是一些列正则表达式Pattern类),扩展过滤方法filter()被调用时,会根据生成的规则过滤url。具体扩展加载和生成原创 2012-07-18 15:56:09 · 5030 阅读 · 0 评论 -
nutch爬去是出现NullPointException问题
问题出现在:package org.apache.nutch.protocol.http.api中的RobotRulesParser类的isAllowed方法中,可能请求时间过短的原因,让该方法睡眠500毫秒问题就解决了,但影响效率。有更好的解决方案待深入研究。 public boolean isAllowed(URL url) {// System.err.println(原创 2012-07-28 16:36:49 · 870 阅读 · 0 评论 -
nutch爬取结果中为什么最后的链接状态CrawlDatum错了?
因为我最后一遍爬取的时候没有将链接数据库CrawlDb进行更新,所以连接数据库中的url链接信息是上一次的状态,所以和预期的效果不一样。解决方案:在最后一遍爬取时,既要更新已存在的url的CrawlDatum,同时不能添加本次解析网页获得的链接(因为我们只爬取三层,第四层的链接就不需要),所以需要在改动CrawlDb中的update函数,添加一个boolean型的参数,表示是否需要将链接更新到原创 2012-07-30 15:36:45 · 1081 阅读 · 0 评论