`
yangjizhong24
  • 浏览: 395767 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

lucene的索引建立及查找

阅读更多
package lucene;

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.FSDirectory;

public class FSDirectoryTest {

	//建立索引的路径   
	public static final String path = "f:\\index2";

	public static void main(String[] args) throws Exception {
		Document doc1 = new Document();
		doc1.add(new Field("name", "lighter javaeye com", Field.Store.YES, Field.Index.TOKENIZED));

		Document doc2 = new Document();
		doc2.add(new Field("name", "lighter blog", Field.Store.YES, Field.Index.TOKENIZED));

		IndexWriter writer = new IndexWriter(FSDirectory.getDirectory(path, true), new StandardAnalyzer(), true);
		writer.setMaxFieldLength(3);
		writer.addDocument(doc1);
		writer.setMaxFieldLength(3);
		writer.addDocument(doc2);
		writer.close();

		IndexSearcher searcher = new IndexSearcher(path);
		Hits hits = null;
		Query query = null;
		QueryParser qp = new QueryParser("name", new StandardAnalyzer());

		query = qp.parse("lighter");
		hits = searcher.search(query);
		System.out.println("查找\"lighter\" 共" + hits.length() + "个结果");

		Document doc = null;
		for (int i = 0; i < hits.length(); i++) {
			doc = hits.doc(i);
			System.out.println(doc.get("name"));
			doc = null;
		}

		query = qp.parse("javaeye");
		hits = searcher.search(query);
		System.out.println("查找\"javaeye\" 共" + hits.length() + "个结果");

	}

}

 

附件为相关JAR包

分享到:
评论

相关推荐

    lucene5.3.1增删改查

    基于lucene5.3.1的项目实例 lucene创建索引,删除索引,更新索引,查找索引。

    indexer:使用 Apache Lucene 快速建立 CSV 文件索引

    索引器从 [ input.csv ] 创建 [ index/dir ] 索引器从 [ input.csv ] 追加 [ index/dir ] 索引器从 [ input.csv ] 更新 [ index/dir ] 索引器删除 [索引/目录] 索引器查找 [ 全部 | n ] return [ "field1,field2 .....

    Lucene项目

    lucene项目,首先要准备查询的数据放到相关路径下(在Constant类中是设置路径的地方)。 LuceneIndex是创建索引; LuceneSearch是查询; TokenTest是分词; MoreLikeTest是查找相似文章

    lucene入门demo

    里面编写了法创建,搜索的基本方法 LuceneDemo 单个文件索引,创建查找 CopyFile 为多文件复制多些文件做准备 CreateIndexe 多文件创建索引;Searcher多文件搜索对应CreateIndexe

    基于lucene的搜索引擎总结

    Lucene索引过程的核心类 IndexWriter :提供对索引的写入操作 Directory:描述了索引存放的位置 Analyzer:对文本进行分析,提取词汇(token),剔除无用的信息 Document:虚拟的文档 Field:每个Document包含一个或...

    Lucene+MySql/Sqlserver2005 例子+Logo的实现

    Lucene+MySql/Sqlserver2005 例子,自己在学习lucene的过程中,做了这个小列子,是根据数据库的内容来创建索引,里面包括对查找的关键字进行高亮,对现实的内容进行了限定.对Lucene还没有进入深入的理解,里面的代码...

    使用Lucene.NET实现站内搜索

    导入Lucene.NET 开发包 Lucene 是apache软件基金会一个开放源代码的全文检索引擎工具包...创建索引、更新索引、删除索引 搜索,根据索引查找 IndexHelper 添加、更新、删除索引 using System; using Lucene.Net.Stor

    自己动手写搜索引擎(罗刚著).doc

    6.1.1 理解 Lucene 的索引库结构 146 6.1.2 设计一个简单的索引库 148 6.2 创建和维护索引库 149 6.2.1 创建索引库 149 6.2.2 向索引库中添加索引文档 149 6.2.3 删除索引库中的索引文档 151 6.2.4 更新索引库中的...

    Elasticsearch的索引,单field索引和多field的联合索引

    作为一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene基础上的搜索引擎。Elasticsearch 可以用于:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索;实时分析的分布式...

    ProjetS6:使用Lucene在网站的子集中查找信息

    ProjectS6-SearchUs 搜索引擎允许在基于ElasticSearch的文件...索引创建 在/ var / www / files文件夹中上载要建立索引的文件 在机器上安装NodeJ 工具/ ElasticSearch / serverBootstrap文件夹 执行“ npm install”

    docker-compose_Docker_

     也就是将logstach收集上来的日志储存,建立索引(便于查找),搜索(提供web展示)l:logstash 收集日志 数据源:各种log,文本,session,silk,snmpk:kibana 数据展示,web页面,可视化 可以完成批量分析 ...

    luceneserver:在Apache Lucene之上的高性能“瘦包装” HTTP REST服务器

    Lucene服务器该项目在 6.x... 单个节点可以为文档建立索引,通过DSL或解析的查询字符串运行近乎实时的搜索,包括“滚动”搜索,地理位置搜索,突出显示,联接,排序,索引时间排序,分组,构面等。 必须首先使用registe

    centos6.9安装elasticsearch环境

    我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过...

    text-analytics:为文本分析课程完成的工作

    文本分析 ...lucene 简介 编写一个程序,该程序 • 创建一个 lucene 索引 • 将 classbios.txt 分解为每个人的一个块。 (您可以为此使用正则表达式)。 • 将每个块作为单独的文档索引到您的索引中。

    网络爬虫调研报告.docx

    Searcher主要利用这些索引检索用户的查找关键词来产生查找结果。另外很吸引人的一点在于,它提供了一种插件框架,使得其对各种网页内容的解析、各种数据的采集、查询、集群、过滤等功能能够方便的进行扩 展,正是...

    搜索链接Java网络爬虫(蜘蛛)源码-zhizhu

    利用java.url中的类实现Spider程序与外界通讯,以及处理网页中的URL连接,对蜘蛛程序的核心类(通讯核心、蜘蛛程序工作核心),资源索引的建立与搜索新型了详细的研究。 通过设计分析,完成了自己的蜘蛛爬行程序。...

    java8看不到源码-InstaTrie:Java的基于Trie的前缀索引

    高性能前缀索引和搜索词高亮器,使用特里数据结构实现。 主要特征 用于高效前缀查找的复杂通用数据结构 支持自定义提取器函数以从 POJO 中检索关键字 能够忽略(简单)HTML 标签 在搜索模型中突出显示找到的零件 ...

    ist的matlab代码-typo3-mksearch:使用ZendLucene,ApacheSolr或ElasticSearch的通用的高度

    您还可以最大程度地控制以后可以索引和查找哪些信息。 索引基本上是异步的。 首先将必须在索引中更新的数据放入队列中,并通过调度程序服务进行处理。 文献资料 支持 松弛频道: (在这里请求您的Slack邀请:)

    ZendFramework中文文档

    10.5.7. 根据主键查找数据 10.5.8. 取回一条记录 10.5.9. 取回多条记录 10.5.10. Adding Domain Logic 10.6. Zend_Db_Table_Row 10.6.1. 简介 10.6.2. 取回一条记录 10.6.3. 修改数据 10.7. Zend_Db_Table_...

    stroom:Stroom是高度可扩展的数据存储,处理和分析平台

    Stroom是一个数据处理,存储和分析平台。 它具有可扩展性-只需添加更多CPU /服务器即可获得更大的吞吐量。 它适用于处理大量数据(例如系统... 创建具有不同保留期限的多个索引。 这些可以在整个集群中分片。 仪表板。

Global site tag (gtag.js) - Google Analytics