2008-01-14

Lucene使用项向量提高高亮显示性能

关键字: lucene, 项向量, termvector, with_positions, with_offsets, with_positions_offsets, termfreqvector, 高亮
Lucene增加高亮显示后结果更高明显了,但是返回结果的速度比较慢.原因是Lucene做每一篇文档的相关关键词的高亮显示时,在运行时执行了很多遍的分词操作,降低了性能.TermVector保存Token.getPositionIncrement() 和Token.startOffset() 以及Token.endOffset() 信息。利用Lucene中新增加的Token信息的保存结果以后,就不需要为了高亮显示而在运行时解析每篇文档。通过Field方法控制是否保存该信息 public void searcher() throws IOException{ IndexRe ...
2008-01-14

Lucene使用项向量进行模糊查询

关键字: lucene, 项向量, termvector, with_positions, with_offsets, with_positions_offsets, termfreqvector
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:保存ter ...
2008-01-14

Lucene1.4与Lucene2.0的Field

关键字: field.index, field.store, field.termvector, 项向量, termvector
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_ ...
2008-01-09

lucene的多种搜索2-SpanQuery

关键字: spantermquery, spanfirstquery, spannearquery, spannotquery, spanorquery
SpanQuery按照词在文章中的距离或者查询几个相邻词的查询 SpanQuery包括以下几种:SpanTermQuery:词距查询的基础,结果和TermQuery相似,只不过是增加了查询结果中单词的距离信息。SpanFirstQuery:在指定距离可以找到第一个单词的查询。SpanNearQuery:查询的几个语句之间保持者一定的距离。SpanOrQuery:同时查询几个词句查询。SpanNotQuery:从一个词距查询结果中,去除一个词距查询。下面一个简单例子介绍package com; //SpanQuery:跨度查询。此类为抽象类。 import java.io. ...
2008-01-07

lucene的多种搜索

关键字: termquery, phrasequery, wildcardquery, fuzzyquery, prefixquery, rangequery, booleanquery, phraseprefixquery, multifieldqueryparser
lucene的搜索相当强大,它提供了很多辅助查询类,各自完成一种特殊的查询,也可以相互组合使用,来完成一些复杂的操作.  public class Test{ Analyzer analyzer = new StandardAnalyzer(); RAMDirectory directory = new RAMDirectory(); /** * 创建索引 * * @throws IOException */ public void index() throws IOException{ Index ...
2007-12-19

Nutch的安装与运行

关键字: Nutch,lucene
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- ...
2007-09-04

Lucene倒排索引原理

关键字: lucene, java
Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。该结构及相应的生成算法如下:    0)设有两篇文章1和2  文章1的内容为:Tom lives in Guangzhou,I live in Guangzhou too.  文章2的内容为:He once lived in Shanghai.    1)由于lucene是基于关键词索引和查询的,首先我们要取得这两篇文章的关键词,通常我们需要如下处理措施  a.我们现在有的是文章内容,即一个字符串,我们先要找出字符串中的所有单词,即分词。英文单词由于用空格分隔,比较好处理。中文单词间是连在一起的需要特殊的分词处理。  ...
Callan
搜索本博客
存档
最新评论