摘要: 一、Lucene搜索过程总论搜索的过程总的来说就是将词典及倒排表信息从索引中读出来,根据用户输入的查询语句合并倒排表,得到结果文档集并对文档进行打分的过程。其可用如下图示:总共包括以下几个过程:IndexReader打开索引文件,读取并打开指向索引文件的流。用户输入查询语句将查询语句转换为查询对象Q... 阅读全文
posted @ 2014-08-05 14:54 塞北鸿雁飞 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 对于Lucene的索引过程,除了将词(Term)写入倒排表并最终写入Lucene的索引文件外,还包括分词(Analyzer)和合并段(merge segments)的过程,本次不包括这两部分,将在以后的文章中进行分析。Lucene的索引过程,很多的博客,文章都有介绍,推荐大家上网搜一篇文章:《Ann... 阅读全文
posted @ 2014-08-05 14:33 塞北鸿雁飞 阅读(312) 评论(0) 推荐(0) 编辑
摘要: Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙。当我们真正进入到Lucene源代码之中的时候,我们会发现:Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打分(score)的过程。本文详细解读了Apache Lucene - Index File Formats(http://lucene.apache.org/java/2_9_0/fileformats.html) 这篇文章。一、基本概念下图就是Lucene生成 阅读全文
posted @ 2014-03-03 20:00 塞北鸿雁飞 阅读(273) 评论(0) 推荐(0) 编辑
摘要: Lucene总的来说是:一个高效的,可扩展的,全文检索库。全部用Java实现,无须配置。仅支持纯文本文件的索引(Indexing)和搜索(Search)。不负责由其他格式的文件抽取纯文本文件,或从网络中抓取文件的过程。在Lucene in action中,Lucene 的构架和过程如下图,说明Lucene是有索引和搜索的两个过程,包含索引创建,索引,搜索三个要点。让我们更细一些看Lucene的各组件:被索引的文档用Document对象表示。IndexWriter通过函数addDocument将文档添加到索引中,实现创建索引的过程。Lucene的索引是应用反向索引。当用户有请求时,Query代表 阅读全文
posted @ 2014-03-02 21:33 塞北鸿雁飞 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 一、总论根据http://lucene.apache.org/java/docs/index.html定义:Lucene是一个高效的,基于Java的全文检索库。所以在了解Lucene之前要费一番工夫了解一下全文检索。那么什么叫做全文检索呢?这要从我们生活中的数据说起。我们生活中的数据总体分为两种:结构化数据和非结构化数据。结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。当然有的地方还会提到第三种,半结构化数据,如XML,HTML等,当根据需要可按结构化数据来处理,也可抽取出纯文本按非结构化数据来处理。非结构化数据 阅读全文
posted @ 2014-03-02 21:26 塞北鸿雁飞 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 1021: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 #define N 10005 8 vector v[N]; 9 queue q;10 int tree[N],h[N],dis[N],vis[N];11 int n,maxh;12 13 int findroot(int x){14 if(tree[x]==-1)15 return x;16 else{17 int tmp=findroot(tree[x]);18 tree[... 阅读全文
posted @ 2014-02-27 00:41 塞北鸿雁飞 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍解决动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为Union-Find。更多的信息可以参考Algorithms一书的Section 1.5,实际上本文也就是基于它的一篇读后感吧。原文中更多的是给出一些结论,我尝试给出一些思路上的过程,即为什么要使用这个方法,而不是别的什么方法。我觉得这个可能更加有意义一些,相比于记下一些结论。关于动态连通性我们看一张图来了解一下什么是动态连通性:假设我们输入了一组整数对,即上图中的(4, 3) (3, 8)等等,每对整数代表这两个points/sites是连通的。那么随着数据的不断输入,整个图的连通性也会发生变化,从上图中可以 阅读全文
posted @ 2014-02-25 19:01 塞北鸿雁飞 阅读(620) 评论(0) 推荐(0) 编辑
摘要: Spring AOP1. 代理模式1.1. 静态代理程序中经常需要为某些动作或事件作下记录,以便在事后检测或作为排错的依据,先看一个简单的例子:import java.util.logging.*;public class HelloSpeaker {private Logger logger = Logger.getLogger(this.getClass().getName());public void hello(String name) {logger.log(Level.INFO, "hello method starts....");System.out.pri 阅读全文
posted @ 2014-02-24 19:41 塞北鸿雁飞 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 1011 1 #include 2 #include 3 4 int main(){ 5 float w[4]; 6 float t[4]; 7 float l[4]; 8 char a[4]; 9 float x[4];10 int i;11 float sum;12 memset(w,0,sizeof(w));13 memset(t,0,sizeof(w));14 memset(l,0,sizeof(w));15 16 for(i=0;it[i]&&w[i]>l[i]){23 ... 阅读全文
posted @ 2014-01-24 17:26 塞北鸿雁飞 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 1. 注入类型a) Spring_0300_IOC_Injection_Typeb) setter(重要)c)构造方法(可以忘记)d)接口注入(可以忘记)以下是setter 注入[html]view plaincopyprint[java]view plaincopyprint?packagecom.demo.service;importorg.junit.Test;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicat 阅读全文
posted @ 2013-12-24 19:33 塞北鸿雁飞 阅读(313) 评论(0) 推荐(0) 编辑