- 浏览: 736616 次
- 性别:
- 来自: 上海
最新评论
-
z6978445:
查询呢?比如要查出 tblRead200710 表与 tblR ...
使用hibernate SQLQuery实现动态表 -
xtp1211:
乱发,自己都没试过
windows下的apache限制IP连接数 -
guanqing123:
在apache的httpd.conf文件中加入
ProxyRe ...
apache2.2 tomcat6 集群 -
wangxingchun:
Thanks again
Axure RP组件库下载 -
feiyu86:
这才是专家嘛,通俗易懂。
Lucene倒排索引原理
文章列表
我在实际的项目应用中,有时会设计出这样的一种数据表,每个时间段产生一个新表,例如是按年或月或日。相同类型的表中,所有的字段结构都是一样的。而 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 ...
- 2008-01-09 11:05
- 浏览 5672
- 评论(0)
lucene的搜索相当强大,它提供了很多辅助查询类,各自完成一种特殊的查询,也可以相互组合使用,来完成一些复杂的操作. public class Test{
Analyzer analyzer = new StandardAnalyzer();
RAMDirectory directory = new RAMDirectory();
/**
* 创建索引
*
* @throws IOException
*/
public void index() throws IOException{
IndexWriter indexWriter = new ...
- 2008-01-07 23:35
- 浏览 8014
- 评论(2)
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 ...
- 2007-12-19 16:38
- 浏览 2453
- 评论(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 {
...
- 2007-10-25 14:34
- 浏览 2094
- 评论(1)
以下是整合的步骤: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 ...
- 2007-09-26 16:37
- 浏览 2353
- 评论(0)
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 ...
- 2007-09-26 16:25
- 浏览 4874
- 评论(0)
安装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 ...
- 2007-09-26 16:23
- 浏览 2863
- 评论(0)
在hibernate3中提供了属性延迟加载的功能,只要设置属性的的lazy="true",以后通过getXXX才能真正从数据库中读取数据.
以下是hibernate2的实现:
public class UserInfo implements serializable{
private String userName;
......
}
public class UserPer extends UserInfo implements Serializable{
private Clob desc;
......
}
UserPer . ...
- 2007-09-16 19:43
- 浏览 2425
- 评论(2)
在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 ...
- 2007-09-12 18:46
- 浏览 26067
- 评论(9)