Provides a convenient implementation of the HttpServletRequest interface that can
be subclassed by developers wishing to adapt the request to a Servlet. This class
implements the Wrapper or Decorator pattern. Methods default to calling through to
the wrapped request object.
Objects that are bound to a session may listen to container events notifying them
that sessions will be passivated and that session will be activated. A container
that migrates session between VMs or persists sessions is required to notify all
attributes bound to sessions implementing HttpSessionActivationListener.
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.store.Directory;
public class LuceneTest {
public static void main(String[] args) {
// 超纲词汇列表
List<String> wordList = new ArrayList<String>();
wordList.add("convenient");
wordList.add("attributes");
wordList.add("required");
wordList.add("human");
wordList.add("computer");
wordList.add("object");
// 索引存放的路径
File indexDir = new File("f:/test/index");
// 文章文件名
File srcFile = new File("f:/test/english.txt");
// 建立 Lucene 索引,在文件不改动时,只需要执行一次
createIndex(indexDir, srcFile);
System.out.println("超纲词汇如下:");
List<String> overList = getOverWords(indexDir, wordList);
for (String s : overList) {
System.out.println(s);
}
}
private static void createIndex(File indexDir, File srcFile) {
IndexWriter writer = null;
try {
writer = new IndexWriter(indexDir, new StandardAnalyzer(), true);
writer.setUseCompoundFile(false);
Document doc = new Document();
System.out.println("Indexing...");
doc.add(new Field("content", new FileReader(srcFile)));
writer.addDocument(doc);
System.out.println("Index finshed.");
writer.optimize();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
private static List<String> getOverWords(File indexDir,
List<String> wordList) {
IndexWriter writer = null;
List<String> overList = new ArrayList<String>();
try {
writer = new IndexWriter(indexDir, new StandardAnalyzer(), false);
Directory fsDir = writer.getDirectory();
IndexSearcher is = new IndexSearcher(fsDir);
QueryParser parse = new QueryParser("content",
new StandardAnalyzer());
for (int i = 0, k = wordList.size(); i < k; i++) {
String word = wordList.get(i);
Query query = parse.parse(word);
Hits hits = is.search(query);
if (hits.length() > 0) {
overList.add(word);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return overList;
}
}
基于Redis的高性能全文搜索引擎RediSearch应用。 (包含MongoDB中文全文索引的另类实现)
在实际试用中,发现众多搜索引擎的搜索框中,我们在不同的key之间使用空格来表示“或”的语义,并且也许我们的关键字在title或者content中,那么现在我们就需要实现“在一个(或者多个)字段中查找多个关键字”的需求...
在前端开发过程中,我们经常会遇到关于检索关键词的问题。遇到这类问题,我们通常会用下面的四个方法来解决检索关键词的问题: 1.检索一个固定的关键词: 1.1String.prototype.indexOf()-->indexOf()方法返回...
在应用中加入全文检索功能——基于Java的全文索引引擎Lucene简介关键词:Lucene java full-text search engine Chinese word segment内容摘要:Lucene是一个基于Java的全文索引工具包。1. 基于Java的全文索引引擎...
本文我将为大家讲解全文检索技术——Lucene,现在这个技术用到的比较多,我觉得大家还是应该掌握一下,不说多精通,...还可以根据中文词语进行查询,并且需要支持多个条件查询。本案例中的原始内容就是磁盘上的文...
当年,我们记着几个一定要掌握的重心: 重点的题目添加了【重点】前缀。 索引。 锁。 事务和隔离级别。 因为 MySQL 还会有部分内容和运维相关度比较高,所以本文我们分成两部分【开发】【运维】两部分。 对于...
最近和小伙伴一起想要做文字游戏,类似于《恋与制作人》那种的。以前从来没有试过读档之类的,在这个地方希望哪位大神能解答一下。 设想了一下一个关卡的文件大概是这样的: ...但是为什么会多读出空行??
关键字查询作为一种对用户友好的信息检索方式,在多种应用环境中均有很好的应用。在本次设计报告,使用爬虫获取中国知网中HTML显示的论文摘要为数据源,使用TF-IDF模型对获取的信息进行数据分析,对于用户输入的...
测试开发笔记 第一章 测试基础 7 什么是软件测试: 7 ★软件测试的目的、意义:(怎么做好软件测试) 7 3.软件生命周期: 7 第二章 测试过程 8 1.测试模型 8 H模型: 8 V模型 9 2.内部测试 10 ...
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。...采用Java5开发,基于Lucene。... Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文
1,数据库 1)概念 数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 常见数据库管理系统有:Access、mysql、sql server 2)特点 ...逻辑数据独立性(logical data...
每个HTML文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗? 21 Quirks模式是什么?它和Standards模式有什么区别 21 div+css的布局较table布局有什么优点? 22 img的alt与title有何异同? strong与em的...
Lucene 是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。说到底它是一个信息检索程序库,而不是应用产品...
MySQL学习总结 前言 春节期间看了一本mysql书《MySQL数据库应用从入门到精通》 觉得这本书相对简单、基础、实用、全面,我们大多数人喜欢搞一些高深的东西,而忽视一些简单基础的东西,在工作当中我们犯错的...
1、题记 这是stackoverflow上一篇精彩的问答...2、知识库全文检索问题抛出 重新审视一个停滞不前的项目,并寻求建议,对数千个“旧”文档进行现代化改造, 最终期望效果:通过网络访问这些文档。 文档以各种格式...
目前,我正在帮师兄写一个关于全文检索的专利,由于先前没有这方面的经验和基础,所以要先搞清楚啥叫全文检索。于是看了不少文章,发现这篇介绍的不错,于是转了过来,算是把全文检索说清楚。 一. 什么是全文检索 ...
关于sql全文检索与lucene效率比较的摘要,以下仅为网络找到的效率意见,近期会对效率做出测试比较,再更新。 -----------------------------------------------------------------------------------------------...
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。...采用Java5开发,基于Lucene。... Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索...
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML/Json...
一、总论根据http://lucene.apache.org/java/docs/index.html 定义:Lucene 是一个高效的,基于Java 的全文检索库。所以在了解Lucene之前要费一番工夫了解一下全文检索。那么什么叫做全文检索呢?这要从我们生活中...
一、总论 根据http://lucene.apache.org/java/docs/index.html... "Apache Lucene(TM) is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable
java面试题整理(3) JAVA常考点3 目录 1. 讲下JAVA的运行时区域 1 2、简单说下垃圾回收机制 2 3、TCP和UDP的区别 7 ...4、项目是怎样预防sql注入的 7 ...5、 MySQL存储引擎中的MyISAM和InnoDB区别 7 ...
Lucene 是一个高效的,基于Java 的全文检索库。 所以在了解Lucene之前要费一番工夫了解一下全文检索。 那么什么叫做全文检索呢?这要从我们生活中的数据说起。 我们生活中的数据总体分为两种:结构化数据 和非...
转载一篇总结的相当不错的全文检索原理的文章 我们生活中的数据总体分为两种:结构化数据和非结构化数据。 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或...
一个大型、稳健、成熟的分布式系统的背后,往往会涉及众多的支撑系统,我们将这些支 撑系统称为分布式系统的基础设施。除了前面所介绍的分布式协作及配置管理系统ZooKeeper, 我们进行系统架构设计所依赖的基础设施...
毫无疑问,你的眼睛会从38页的第一个字开始从头至尾地扫描,直到找到“坑爹”二字为止。这种搜索方法叫做顺序扫描法。对于少量的数据,使用顺序扫描是够用的。但是妈妈叫你查出坑爹的“坑”字在哪一页时,你要是从第...
Solr采用Lucene搜索库为核心,提供全文索引和搜索开源企业平台,提供REST的HTTP/XML和JSON的API,如果你是Solr新手,那么就和我一起来入门吧!本教程以solr4.8作为测试环境,jdk版本需要1.7及以上版本。 准备 ...
一、总论 根据http://lucene.apache.org/java/docs/index.html ... "Apache Lucene(TM) is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable
本文我将为大家讲解全文检索技术——Lucene,现在这个技术用到的比较多,我觉得大家还是应该掌握一下,不说多精通,但是应该有所了解。在讲解之前,我们先来看一个案例,通过该案例引出全文检索技术——Lucene。 ...
1.1 案例描述我们以一个案例来研究全文检索系统架构:实现一个文件的搜索功能,通过关键字搜索文件,凡是文件名或文件内容包括关键字的文件都需要找出来。 1.2索引和搜索流程图1、绿色表示索引过程,对要搜索的原始...