`
Callan
  • 浏览: 731166 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
我在实际的项目应用中,有时会设计出这样的一种数据表,每个时间段产生一个新表,例如是按年或月或日。相同类型的表中,所有的字段结构都是一样的。而 hibernate 提供的类与表的映射,是只能映射到一个具体表的,在程序的运行过程中,很难去动态修改一个 hbm 对应的表名。我在网上也有看到一实现,但是很复杂,并且不符合我的要求。因此我就想到直接用 jdbc 去操作数据库,这样的做法是绕过 hibernate 了。方法是从 hibernate 的 session 中,直接取得数据库 connection ,然后就直接 jdbc 了。后来在升级了 proxool 到 9.0RC3 后,发现居然出现了数据库 ...
Lucene增加高亮显示后结果更高明显了,但是返回结果的速度比较慢.原因是Lucene做每一篇文档的相关关键词的高亮显示时,在运行时执行了很多遍的分词操作,降低了性能.TermVector保存Token.getPositionIncrement() 和Token.startOffset() 以及Token.endOffset() 信息。利用Lucene中新增加的Token信息的保存结果以后,就不需要为了高亮显示而在运行时解析每篇文档。通过Field方法控制是否保存该信息 public void searcher() throws IOException{ IndexReader rea ...
TermVector是Lucene 1.4新增的 它提供一种向量机制来进行模糊查询,TermVector保存Token.getPositionIncrement() 和Token.startOffset() 以及Token.endOffset() 信息. Field.TermVector.NO:不保存term vectorsField.TermVector.YES:保存term vectorsField.TermVector.WITH_POSITIONS:保存term vectors.(保存值和token位置信息)Field.TermVector.WITH_OFFSETS:保存term vect ...
Field的改进 Lucene1.4主要提供下列四种不同类型的Field: Keyword,UnStored,UnIndexed,Text 在Lucene2.0中是通过三个内部类Field.Index,Field.Store,Field.termVector(项向量)的组合来区分Field的具体类型.具体如下: Field.Store.COMPRESS:压缩保存,用于长文本或二进制数据 Field.Store.YES:保存 Field.Store.NO:不保存 Field.Index.NO:不建立索引 Field.Index.TOKENIZED:分词,建索引 Field.Index.UN_T ...
SpanQuery按照词在文章中的距离或者查询几个相邻词的查询 SpanQuery包括以下几种:SpanTermQuery:词距查询的基础,结果和TermQuery相似,只不过是增加了查询结果中单词的距离信息。SpanFirstQuery:在指定距离可以找到第一个单词的查询。SpanNearQuery:查询的几个语句之间保持者一定的距离。SpanOrQuery:同时查询几个词句查询。SpanNotQuery:从一个词距查询结果中,去除一个词距查询。下面一个简单例子介绍package com; //SpanQuery:跨度查询。此类为抽象类。 import java.io.IOExceptio ...

lucene的多种搜索

lucene的搜索相当强大,它提供了很多辅助查询类,各自完成一种特殊的查询,也可以相互组合使用,来完成一些复杂的操作.  public class Test{ Analyzer analyzer = new StandardAnalyzer(); RAMDirectory directory = new RAMDirectory(); /** * 创建索引 * * @throws IOException */ public void index() throws IOException{ IndexWriter indexWriter = new ...
31.       强制索引失效     如果两个或以上索引具有相同的等级,你可以强制命令ORACLE优化器使用其中的一个(通过它,检索出的记录数量少) .     举例:     SELECT ENAME  FROM EMP  WHERE EMPNO = 7935  AND DEPTNO + 0 = 10    /*DEPTNO上的索引将失效*/  AND EMP_TYPE || ‘’ = ‘A’  /*EMP_TYPE上的索引将失效*/     这是一种相当直接的提高查询效率的办法。 但是你必须谨慎考虑这种策略,一般来说,只有在你希望单独优化几个SQL时才能采用它。     ...
1. 选用适合的ORACLE优化器         ORACLE的优化器共有3种:a. RULE (基于规则)   b. COST (基于成本) c. CHOOSE (选择性)    设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS ...
Nutch是一个基于Lucene的搜索引擎应用. 一.准备工作 1.下载最新版的nutch-0.9(下载地址:http://lucene.apache.org/nutch/)放到d盘的d: nutch目录下 2.添加环境变量NUTCH_JAVA_HOME=jdk的安装路径 3.nutch需要在unix下跑,如果要装在windows上,需要安装cygwin(下载地址: http://www.cygwin.com/setup.exe) 二.爬取数据 运行cygwin cd d:nutch cd nutch-0.9 cygwin所示的当前目录为:/cygdrive/d/nutch/nutch-0 ...
以前用xfrie,感觉不太好懂,现在用spring+xfire感觉很好理解。下面是个hello的例子。 IHello.java java 代码 package test;       public interface IHello {        public String helloTo(String name);    }    HelloImpl.java java 代码 package test;       public class HelloImpl implements IHello {    ...
以下是整合的步骤:1.下载安装apache2最新版本地址:http://apache.justdn.org/httpd/binaries/win32/apache_2.2.4-win32-x86-no_ssl.msi下载到本地后双击就可以安装了,安装完成后应该在系统托盘中看到一个小图标了,是个羽毛加绿色播放箭头的图标,这表示正确安装了,如果不能正确安装,请确认80端口没有被别的服务器占有。2.下载安装tomcatTomcat还是到官方网站下载,地址是:http://tomcat.apache.org/,我比较习惯用这个压缩包,解压后设置环境变量就可以用了。在安装路径的bin里面运行startup ...
1. 首先下载apache(http://apache.mirror.phpchina.com/httpd/binaries/win32/)和resin(http://www.caucho.com/download/)2. 安装apache,安装时不用指定域名,但管理员邮箱要指定。resin可以安装,也可以直接用httpd.exe运行程序3. 修改apache的conf/httpd.conf文件,如下代码LoadModule caucho_module C:/resin/win32/apache-2.0/mod_caucho.dll< IfModule mod_caucho.c >R ...
安装apache_2.0.59-win32-x86-no_ssl出错解决1. 安装完成后,提示   Syntax error on line 198 of C:/Program Files/Apache Group/Apache2/conf/httpd.conf:   ServerAdmin takes one argument, The email address of the server administrator   Note the errors or messages above, and press the <ESC> key to exit.     [Mon Sep ...
在hibernate3中提供了属性延迟加载的功能,只要设置属性的的lazy="true",以后通过getXXX才能真正从数据库中读取数据. 以下是hibernate2的实现: public class UserInfo implements serializable{       private String userName;       ...... } public class UserPer extends UserInfo implements Serializable{      private Clob desc;     ...... } UserPer . ...
在web中,定时器的启动一般随web server的启动而启动,一般有两种方法. 方法一:在web.xml里配置一个Servlet,并设置其随web server的启动而启动。然后在该Servlet的init()方法里启动定时器,在destory()方法里销毁定时器。 方法二:在web.xml里配置一个Listener,然后在该Listener的初始化方法里启动定时器,在其销毁的方法朝左销毁定时器。 在servlet中启动定时器 java 代码 import java.io.IOException;    import java.util.Timer;    i ...
Global site tag (gtag.js) - Google Analytics