自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (4)
  • 收藏
  • 关注

原创 将String转化为Long,并将Long转化为Date

package org.ljh.test.javaee;import java.text.SimpleDateFormat;import java.util.Date;public class StringToLongToDate { public static String parseTime(String s){ //将字符串转化为Long类型 Long time

2014-06-30 16:23:11 5872

原创 【设计模式:单例模式】使用单例模式加载properties文件

先uwtl测试程序:package org.jediael.util;import static org.junit.Assert.*;import org.junit.Test;public class BasicConfigurationTest { @Test public void testGetValue(){ BasicConfiguration configu

2014-06-28 11:39:42 4830

原创 apche commons项目简介

1、apche commons项目封装了日常开发中经常使用的功能,如io, String等。http://commons.apache.org/Apache Commons项目的由三部分组成:The Commons Proper - 一个可重用的Java组件库。(已经发布过的)The Commons Sandbox - Java组件开发工作区. (正在开发的项目

2014-06-26 11:27:03 1145

转载 Lucene学习总结之八:Lucene的查询语法,JavaCC及QueryParser

一、Lucene的查询语法Lucene所支持的查询语法可见http://lucene.apache.org/java/3_0_1/queryparsersyntax.html(1) 语法关键字+ - && || ! ( ) { } [ ] ^ " ~ * ? : /如果所要查询的查询词中本身包含关键字,则需要用/进行转义(2) 查询词(Term)Lucene支持两种查询词,

2014-06-25 14:25:37 4755 2

转载 Lucene学习总结之七:Lucene搜索过程解析

一、Lucene搜索过程总论搜索的过程总的来说就是将词典及倒排表信息从索引中读出来,根据用户输入的查询语句合并倒排表,得到结果文档集并对文档进行打分的过程。其可用如下图示:总共包括以下几个过程:IndexReader打开索引文件,读取并打开指向索引文件的流。用户输入查询语句将查询语句转换为查询对象Query对象树构造Weight对象树,用于计算词的权重Term Weight

2014-06-25 14:23:43 8470 3

转载 Lucene学习总结之六:Lucene打分公式的数学推导

在进行Lucene的搜索过程解析之前,有必要单独的一张把Lucene score公式的推导,各部分的意义阐述一下。因为Lucene的搜索过程,很重要的一个步骤就是逐步的计算各部分的分数。Lucene的打分公式非常复杂,如下: 在推导之前,先逐个介绍每部分的意义:t:Term,这里的Term是指包含域信息的Term,也即title:hello和content:

2014-06-25 14:20:50 1252

转载 Lucene学习总结之五:Lucene段合并(merge)过程分析

一、段合并过程总论IndexWriter中与段合并有关的成员变量有:HashSet mergingSegments = new HashSet(); //保存正在合并的段,以防止合并期间再次选中被合并。MergePolicy mergePolicy = new LogByteSizeMergePolicy(this);//合并策略,也即选取哪些段来进行合并。MergeScheduler

2014-06-25 14:20:05 1763

转载 Lucene学习总结之四:Lucene索引过程分析

对于Lucene的索引过程,除了将词(Term)写入倒排表并最终写入Lucene的索引文件外,还包括分词(Analyzer)和合并段(merge segments)的过程,本次不包括这两部分,将在以后的文章中进行分析。Lucene的索引过程,很多的博客,文章都有介绍,推荐大家上网搜一篇文章:《Annotated Lucene》,好像中文名称叫《Lucene源码剖析》是很不错的。想要真正了解

2014-06-25 14:18:57 7381

转载 Lucene学习总结之三:Lucene的索引文件格式(1)

Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙。当我们真正进入到Lucene源代码之中的时候,我们会发现:Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打分(score)的过程。本文详细解读了

2014-06-25 14:15:29 3957

转载 Lucene学习总结之二:Lucene的总体架构

Lucene总的来说是:一个高效的,可扩展的,全文检索库。全部用Java实现,无须配置。仅支持纯文本文件的索引(Indexing)和搜索(Search)。不负责由其他格式的文件抽取纯文本文件,或从网络中抓取文件的过程。在Lucene in action中,Lucene 的构架和过程如下图,说明Lucene 是有索引和搜索的两个过程,包含索引创建,索引,搜

2014-06-25 14:12:50 1446

转载 Lucene学习总结之一:全文检索的基本原理

一、总论根据http://lucene.apache.org/java/docs/index.html 定义:Lucene 是一个高效的,基于Java 的全文检索库。所以在了解Lucene之前要费一番工夫了解一下全文检索。那么什么叫做全文检索呢?这要从我们生活中的数据说起。我们生活中的数据总体分为两种:结构化数据 和非结构化数据 。结构化数据: 指具有固定格式或有限长度

2014-06-25 14:11:34 1822

转载 解决Eclipse中文乱码

使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、Content Type、File 本文以Eclipse 3.3(英文)为例加以说明: 1. 设置Workspace的编码格式: Windo

2014-06-25 11:23:52 955

原创 【Lucene4.8教程之五】Luke

一、Luke基本内容1、Luke简介Luke可用于查看Lucene创建的索引,并对其进行基本操作。2、创建Luke(1)从Github上下载源文件 https://github.com/tarzanek/luke(2)解压文件后,打开DOS窗口,进入Luke源代码所有位置,运行ant即可。此时,在build文件夹中会生成一个lukeall.jar的文件。

2014-06-24 15:12:26 3326

原创 【Tika基础教程之一】Tika基础教程

1、Tika是一个用于文本解释的框架,其本身并不提供任何的库用于解释文本,而是调用各种各样的库,如POI,PDFBox等。2、使用GUI界面解释文本(1)进入Tika所有的目录,运行以下命令:java -jar "tika-app-1.5 (1).jar" -g(2)Tika的图形界面被打开,然后找开File-openURL:3、点击确认后,即返回解

2014-06-22 21:57:46 10287 5

原创 【Lucene4.8教程之四】分析

1、基础内容(1)相关概念分析(Analysis),在Lucene中指的是将域(Field)文本转换成最基本的索引表示单元--项(Term)的过程。在搜索过程中,这些项用于决定什么样的文档能够匹配查词条件。分析器对分析操作进行了封装,它通过执行若干操作,将文本转化成语汇单元,这个处理过程也称为语汇单元化过程(tokenization),而从文本洲中提取的文本块称为语汇单元(token)

2014-06-22 10:51:49 3121

原创 【Lucene4.8教程之六】QueryParser与Query子类:如何生成Query对象

对于一个搜索而言,其核心语句为:searcher.search(query, 10);此时,其最重要的参数为一个Qeury对象。构造一个Query对象有2种方法:【均以在contents域搜索java关键词为例】(1)使用Query的子类,如BooleanQuery, ConstantScoreQuery, DisjunctionMaxQuery, FilteredQuery, M

2014-06-22 09:35:21 10039 1

原创 【Lucene4.8教程之三】搜索

1、关键类Lucene的搜索过程中涉及的主要类有以下几个:(1)IndexSearcher:执行search()方法的类(2)IndexReader:对索引文件进行读操作,并为IndexSearcher提供搜索接口(3)Query及其子类:查询对象,search()方法的重要参数(4)QueryParser:根据用户输入的搜索词汇生成Query对象。(5)TopDocs:s

2014-06-21 09:53:52 3185

原创 Java路径问题最终解决方案—可定位所有资源的相对路径寻址

转载自:http://blog.csdn.net/shendl/article/details/1427475前言Java的路径问题,非常难搞。最近的工作涉及到创建和读取文件的工作,这里我就给大家彻底得解决Java路径问题。我编写了一个方法,比ClassLoader.getResource(String 相对路径)方法的能力更强。它可以接受“../”这样的参数,允许我们

2014-06-20 15:20:12 3946

原创 java.util.logging.Logger基础教程

从JDK1.4开始即引入与日志相关的类java.util.logging.Logger,但由于Log4J的存在,一直未能广泛使用。综合网上各类说法,大致认为:    (1)Logger:适用于小型系统,当日志量过大时性能有待提升。好处在于JDK集成了此类,无需引入新包。且性能也在逐步改善当中,我认为一般而言,使用Logger即可。     (2)Log4J:并发性较好,性能较强,适用于大型

2014-06-18 11:02:32 13190 1

原创 【Lucene4.8教程之二】索引

1、在Lucene4.x前,使用以下方式创建一个Field:Field field = new Field("filename", f.getName(), Field.Store.YES, Field.Index.NOT_ANALYZED);Field field = new Field("contents", new FileReader(f));Field field = new

2014-06-16 11:30:05 10825

原创 【Lucene4.8教程之一】使用Lucene4.8进行索引及搜索的基本操作

在Lucene对文本进行处理的过程中,可以大致分为两大部分:1、索引文件:提取文档内容并分析,生成索引2、搜索内容:搜索索引内容,根据搜索关键字得出搜索结果一、索引文件基本步骤如下:1、创建索引库IndexWriter2、根据文件创建文档Document 3、向索引库中写入文档内容package com.ljh.search.index;import

2014-06-11 10:47:19 7222 1

原创 【Heritrix基础教程之4】开始一个爬虫抓取的全流程代码分析

在创建一个job后,就要开始job的运行,运行的全流程如下:1、在界面上启动job2、index.jsp查看上述页面对应的源代码Start3、action.jsp String sAction = request.getParameter("action"); if(sAction != null) { // Need

2014-06-04 20:10:16 3316

原创 【Heritrix基础教程之3】Heritrix的基本架构

Heritrix可分为四大模块:1、控制器CrawlController2、待处理的uri列表  Frontier3、线程池 ToeThread4、各个步骤的处理器(1)Pre-fetch processing chain:主要处理DNS-lookup, robots.txt,认证,抓取范围检查等。(2)Fetch Processing chain:抓取处理器。对于每个协议

2014-06-01 16:56:12 4312

转载 Eclipse 快捷键大全

一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。    1. ctrl+shift+r:打开资源    这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组

2014-06-01 13:05:32 1146

原创 【Heritrix基础教程之2】Heritrix基本内容介绍

1、版本说明(1)最新版本:3.3.0(2)最新release版本:3.2.0 (3)重要历史版本:1.14.43.1.0及之前的版本:http://sourceforge.net/projects/archive-crawler/files/   3.2.0及之后的版本:http://archive.org/由于国情需要,后者无法访问,因此本blog研究的是1.14.4版

2014-06-01 13:02:42 2183

原创 【Heritrix基础教程之1】在Eclipse中配置Heritrix

一、新建项目并将Heritrix源码导入1、下载heritrix-1.14.4-src.zip和heritrix-1.14.4.zip两个压缩包,并解压,以后分别简称SRC包和ZIP包;2、在Eclipse下新建Java项目,取名Heritrix.1.14.4;3、复制SRC包下面src/java文件夹下org和st两个文件夹到项目中的src包下;4、复制SRC包下src下conf

2014-06-01 00:00:08 3674

Heritrix developer_manual

Heritrix developer_manual,Heritrix的开发文档

2014-06-01

Heritrix user_manual.pdf

Heritrix user_manual 1.14.4,有时候官网下不了的,先保存下来吧。

2014-06-01

Jediael_v0.1

Jediael_v0.1, basic search engine

2014-05-26

Jediael_v0.01

搜索引擎Jediael的0.01版本 it will be go on

2014-05-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除