搜索引擎
文章平均质量分 85
残阙的歌
puring coding,puring thinking!
展开
-
IC分词和IK分词
一、 IC中文分词1. 简介:下载地址:http://www.ictclas.org/中科院的分词开源包,但是有版权!2. 使用: \Sample\Windows_64_jni_Demo 把这个扔进eclipse中。 其中:ICTCLAS 是放在src的包,TestMain是测试程序,其它放在根目录。二、IK分词原创 2015-12-15 21:36:38 · 899 阅读 · 0 评论 -
快速运行solr
1.怎样快速运行solr?solr下载下来的example是自带jetty的sevlet容器。也就是说我们打开包走到example目录下 在命令行下运行java –jarstart.jar 就可以了。运行时注意两点:1运行时出现index被锁住的情况是因为对应的core/data目录下有了locked的文件,删除即可。2.出现address已经被绑定。查出端口的进程pid,删去重新运行即可。原创 2016-02-19 18:53:21 · 1249 阅读 · 0 评论 -
搜索框架的搭建(适用大部分框架)
搜索框架的搭建(适用大部分框架)1. UML图说明:首先这个框架是针对接口编程的,我们先定义一个serverFactory让它可以创建所有实现接口的fulltextservice的类。其中fullTextServiceImpl实现了fulltextservice接口的所有空方法,它的存在是为了让子类实现空方法并对外提供多态(工厂生产成fullTextServiceImpl的类原创 2016-02-19 18:58:46 · 2175 阅读 · 0 评论 -
搜索框架与业务的整合
搜索框架与业务的整合0. 前提1) tomcat启动自动索引运行例子:AutoRun.javaimport java.util.Timer;import java.util.TimerTask;importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;原创 2016-02-19 19:32:33 · 1175 阅读 · 0 评论 -
Heritrix 的主题抓取策略
Hetiitrix 主题策略抓取主要分两种:基于链接和基于内容。扩展FrontierScheduler 和扩展Extractor一. 扩展FrontierScheduler1.新建org.archive.crawler.postprocessor.MyFrontierScheduler|MyFrontierScheduler继承FrontierScheduler类,重写s原创 2015-12-09 10:14:26 · 567 阅读 · 0 评论 -
Heritrix简介以及环境搭建
Heritrix简介以及环境搭建一、heritrix简介Heritrix 是一个由 java 开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。它的执行是递归进行的,主要有以下Heritrix 有Web 控制管理界面几步:1。在预定的URI中选择一个。2。获取URI原创 2015-12-04 17:08:49 · 546 阅读 · 0 评论 -
垂直搜索引擎三》爬虫机器人模块的设计与实现
4 功能模块的设计与实现4.1. 爬虫机器人模块的设计与实现本系统因为是只针对农业进行垂直搜索,所以爬虫只爬相关的主题内容,所以采取聚焦爬虫的方式进行。聚焦爬虫,又称主题爬虫(或专业爬虫),是“面向特定主题”的一种网络爬虫程序。它与我们通常所说的爬虫(通用爬虫)的区别之处就在于,聚焦爬虫在实施网页抓取时要进行主题筛选。它尽量保证只抓取与主题相关的网页信息。4.1.1 农业主题爬虫的工作...原创 2016-07-19 14:15:09 · 1856 阅读 · 0 评论 -
垂直搜索引擎一》前言与需求分析
1前言1.1 课题研究的背景互联网特别是移动互联网的高速发展,网上信息急剧增长,传统的搜索引擎十分适合大众搜索,但是面向特定领域的搜索时,就会有心无力。并且传统搜索引擎采集网页是饥饿扫描式爬虫,难以查找相关主题,网络带宽消耗大等等,这些潜在的问题急需解决。在这种背景下,垂直搜索就产生了。垂直搜索引擎的应用领域很多,比如就业类搜索,内推网,拉勾网都是这个方面的典型代表;去哪儿、去旅游网等...原创 2016-07-19 14:02:53 · 3425 阅读 · 0 评论 -
垂直搜索引擎四》文本处理模块的设计与实现
4.2文本处理模块的设计与实现4.2.1 文本处理模块的总设计另外还对信息过滤模块主要要做的事情有三个:(1)对抓下来的HTML网页进行解析,提取出所关心的文章标题,时间和正文;(2)对文章标题和内容进行分词;(3) 去重。图4-7 文本处理设计图4.2.2 文本模块之页面解析页面解析主要是用开源的htmlparser工具。htmlparse...原创 2016-07-19 14:25:37 · 1977 阅读 · 0 评论 -
垂直搜索引擎五》索引与检索模块的设计与实现
4.3索引与检索模块的设计与实现4.3.1 索引与检索模块的流程。索引与检索模块主要是负责对文本数据进行倒排索引和检索,本系统采用了Lucene和Solr并用作为服务端。用户可以根据传入的参数进行选择使用Lucene或者是Solr进行服务。其流程图4-13所示:图4-13 索引与检索模块流程4.3.2索引与检索模块之Lucene服务(1)工作方式:lucen...原创 2016-07-19 14:30:36 · 1580 阅读 · 0 评论 -
垂直搜索引擎六》搜索与更新模块的设计与实现
4.4 搜索与更新模块的设计与实现4.4.1搜索与更新模块的总设计搜索与更新模块主要是分别对Solr和Luecne的查询模块进行封装。封装的内容包括:(1)通用的查询过程;(2)把参数封装为类;(3)把返回结果封装成类;(4)工厂模式启动服务。图4-16 搜索与更新模块总设计如上图,该模块涉及到的系统有:Solr/Lucene索引与搜索服务...原创 2016-07-19 14:37:55 · 1587 阅读 · 0 评论 -
网页去重(一)简介
网页去重(一)简介 网页去重(一)简介一、概念:引用百度百科文献:搜索引擎优化中,网站内部优化至关重要,其中网站内部还需要注意页面的重复。即:同一篇文章经常会重复出现在同一个网站的不同网址上。搜索引擎并不喜欢这种重复性的内容。用户搜索时,如果在前两页看到的都是来自不同网站的同一篇文章,用户体验就太差了。虽然都是内容相关的。搜索引擎希望只返回相同文章中原创 2015-12-17 19:39:36 · 2423 阅读 · 0 评论 -
农业垂直搜索引擎二》系统总设计
本系统包含的模块有:爬虫机器人模块,文本处理模块,数据搜索与更新模块,索引与检索模块,搜索模块和web客户端。每个模块之间紧密相连,但耦合性低,各自有独立的框架和开发流程。原创 2016-07-19 14:07:36 · 2129 阅读 · 0 评论 -
Lucene 的相关操作问答
Lucene 的相关操作问答一. 利用IK分词分析器索引:Lucene 完全支持 IK ,只要new一个IKAnylizy,放进indexWtiterConf即可。二. 利用luke查看索引下载对应版本的luke,然后放进索引数据的目录,打开jar程序即可查看。 三. 删除,修改索引从lucene4开始,删除的方法放在了indexwri原创 2016-02-19 17:36:27 · 1193 阅读 · 0 评论 -
Lucene搭建和基本使用
1.下载及安装地址:http://lucene.apache.org/ 下载src.tgz包和lucene.xxx.zip2.查看文档构建eclipse工程 2.1 ucene-4.6.0\docs\index.html 参考文档。点击lucene domo根据导航setting yourclasspath 。 2.2 然后设置build path,把src包原创 2016-02-19 17:23:24 · 1394 阅读 · 0 评论 -
网页去重(四)之余弦夹角计算相似度
网页去重之余弦夹角计算相似度1. 相似度度量 相似度度量(Similarity),即计算个体间的相似程度,相似度度量的值越小,说明个体间相似度越小,相似度的值越大说明个体差异越大。对于多个不同的文本或者短文本对话消息要来计算他们之间的相似度如何,一个好的做法就是将这些文本中词语,映射到向量空间,形成文本中文字和向量数据的映射关系,通过计算几个或者多个不同的向量的差异的大小,来计算原创 2015-12-24 19:00:41 · 1954 阅读 · 0 评论 -
中文分词之基本分词
中文分词之评价基本分词一、 大纲步骤: 评价对象的抽取分为:基本分词,候选词的获取,特殊词的过滤,完整性算法,稳定性算法二、 基本分词先利用IC对文章进行基本的分词,分词的依据是IC本身自带的词典。该词典只有普通分词,例如/n ,/v, /q,/ns,/w等。 import java.io.BufferedReader;importjava.io.B原创 2015-12-15 21:55:48 · 1675 阅读 · 0 评论 -
中文分词之候选集的选取
中文分词之候选集的选取一、 基本思路:·0. 之前讲到利用字典的分词,是因为字典的词组是有限的,单个的。但是候选词是可以由多个词组成。例如“Android/x 系统 /n 平台/n”,“蓝/n 牙/n”等。如果把这些词是连着出现在被爬虫爬下来的文章中,那么就很有必要把“Android系统 平台”,“蓝牙”作为整体的词语来理解了。即“把x n n”,”n n”组合在一起作原创 2015-12-15 22:16:24 · 1828 阅读 · 0 评论 -
中文分词之识别语义
中文分词之识别语义一、 概述:我们都知道、对于搜索引擎、如果利用现成的框架是比较容易实现以下步骤:获取文本内容、建立索引、分词识别、检索。但是这并不能保证检索出来的东西是我们想要的结果。识别语义、查找的东西与检索出来的东西的相关性是搜索引擎的核心。 例如:“今年中秋、这里人来人往、好不热闹!”通常来说“不”字是否定词,但是这里的“不”是语气词,并非否定的意思。所以,原创 2015-12-15 21:38:51 · 10874 阅读 · 0 评论 -
递归读取heritrix 爬下来的目录文件
递归读取heritrix 爬下来的目录文件1. 在StringUtil中获取写一个根据路径递归的方法 public ArrayList getAllPath(Stringpath){ File file = newFile(path); File[] fileList = file.listFiles(); for(Fi原创 2015-12-15 21:35:18 · 489 阅读 · 0 评论 -
中文分词之左右完整性及稳定性
一、 概念:新闻案例:“out-100”的说法也在考生父母之间流传,即在全校排名100名开外时,基本与名牌大学无缘的意思。此外,“入学考试代理父母”也成为新风尚,主要指子女就读于名牌大学的父母受别人委托,辅导其他家庭的子女高考。 在这条新闻的两句话中,两次出现了“名牌大学”的字样,但是,在分词的时候出现这样的结果:很明显,在这里“名牌”两字单独原创 2015-12-15 22:28:05 · 1548 阅读 · 0 评论 -
中文分词之过滤候选词以及去重
中文分词之过滤候选词以及去重一、 过滤单个词,特殊符号代码实现:/** * 过滤特殊词(单字动词,特殊符号) * @param inputPath * @param outPath * @throws Exception */ public static void filterWordFile2File(String inputFileStr,St原创 2015-12-15 22:21:45 · 4162 阅读 · 2 评论 -
Heritrix 工具化
Heritrix 工具化为了方便开发,我们需要定制Heritrix然后打包,作为一个工具来使用。 为此我们需要:1) 免登陆2) 统一输出路径3) 默认order.xml4) 用bat启动并加载自己的heritrix.jar 1. 免登陆在webapp的web.xml中把安全过滤的后缀.Jsp改为其他后缀 2. 统一输出路径在org.arch原创 2015-12-09 22:06:34 · 360 阅读 · 0 评论 -
吴英昊:电商搜索引擎的架构设计和性能优化
吴英昊:电商搜索引擎的架构设计和性能优化摘要:电商搜索引擎和普通的搜索引擎有很大差别,因为电商搜索引擎主要是解决用户要“买什么”,而不是用户“搜什么”。比如搜索“百年孤独”,电商的搜索肯定是给你推荐这本书的商家,而不是《百年孤独》是一本书。在OneAPM 技术公开课第一期中,前当当网高级架构师吴英昊对电商搜索引擎的架构进行了深入分享。在演讲中,他首先就电商搜索引擎的特点进行了解转载 2015-12-02 10:33:24 · 1070 阅读 · 0 评论 -
Heritrix 初步优化(应用ELFHash优化线程数量)
Heritrix 初步优化一. 应用ELFHash 算法优化开启线程策略0. 在默认的情况下,Heritrix使用HostnameQueueAssignmentPolicy来产生key值,而这个策略是用hostname作为key值的,因此一个域名下的所有链接都会被放在同一个线程中去。如果对Heritrix分配URI时的策略进行改进,利用ELFHash“可执行链接格式”(Executab原创 2015-12-09 18:49:33 · 919 阅读 · 0 评论 -
网页去重(二)最小编辑法
网页去重(二)最小编辑法一、 例子二、 Java算法实现public static int min_edit_distance(String target,String source){ int t_len = target.length(); int s_len = source.length(); int[][] d原创 2015-12-17 19:47:04 · 1247 阅读 · 0 评论 -
网页去重(三)之特征值的提取
网页去重(三)特征值一、 什么是特征值下面收集来自百度百科的资料:TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TFIDF实际上是:TF *IDF,TF词频(TermFrequency),IDF逆向文件频率(InverseDocument Frequency)。T原创 2015-12-24 18:53:50 · 2481 阅读 · 0 评论 -
垂直搜索引擎七》web模块的设计与实现
4.5web模块的设计与实现4.5.1 web模块的总设计Web客户端主要是业务端的web前后端管理与展示。主要包括的内容有:(1)索引管理;(2)栏目管理;(3)用户权限管理;(4)前端搜索展示。Web模块的功能主要是指面对广大用户的页面展示以及后台数据的基本管理,其中包括前台展示部分和后台展示部分。搜索引擎的前台页面主要是以简洁为主,所以...原创 2016-07-19 14:44:44 · 1782 阅读 · 0 评论