假设现有如下格式的记录(Record)
标题(title)
内容(content)
创建时间(mdtime)
现在要求搭建搜索引擎实现在标题和内容字段上进行搜索,同时按照时间倒序排列
1. 建索引
File index = new File("/usr/local/...."); // 索引文件存放目录 IndexWriter writer = new IndexWriter(index, analyzer); // analyzer是分词器,根据不同的需要选用不同的分词器 // lucene自带的分词器对中文的支持太弱,网上可以找到中科院分词和IKAnalyzer,另外可以采用目前业界领先的海量分词 Document document = new Document(); document.add(new Field("TITLE", title, Field.Store.YES, Field.Index.TOKENIZED)); document.add(new Field("CONTENT", content, Field.Store.NO, Field.Index.TOKENIZED)); document.add(new Field("MDTIME", mdtime, Field.Store.YES, Field.Index.UN_TOKENIZED)); writer.addDocument(document); writer.optimize(); writer.close();
2. 搜索
IndexSearcher searcher = new IndexSearcher("/usr/local/...."); BooleanQuery query = new BooleanQuery(); QueryParser parser = new QueryParser("TITLE", analyzer); // 设置与或关系 parser.setDefaultOperator(QueryParser.AND_OPERATOR); // 查询条件 query.add(parser.parse(title_condition), BooleanClause.Occur.MUST); query.add(parser.parse(content_condition), BooleanClause.Occur.MUST); // 排序 Hits result = searcher.search(query, new Sort("MDTIME", true)); // 打印结果 for (int i = 0; i < result.length(); i++) { System.out.println(result.doc(i).get("TITLE")); System.out.println(result.doc(i).get("CONTENT")); System.out.println(result.doc(i).get("MDTIME")); }
发表评论
-
Runtime.exec调用命令后的输出处理问题
2011-04-08 10:56 0的萨芬但是 -
Resin3.x日志滚动
2011-03-12 11:29 647可以按照日志大小和时间滚动,对日志还支持压缩zip和gzip压 ... -
Resin3.x日志的名称
2011-03-12 11:24 748log name value Meaning ... -
List的遍历条件删除
2011-03-11 17:40 888List的遍历条件删除 List<Integer> ... -
Hibernate在Resin下部署多个c3p0数据源
2011-03-11 17:22 1061环境: resin3.x hibernate3 c3p0 ... -
Hibernate对应MySQL的Text字段
2011-03-04 23:34 5641Hibernate3.6.1,MySQL5InnoDBDial ... -
Resin3.x日志级别
2011-02-24 10:08 795和java.util.logging.Level中的日志级别对 ... -
tomcat中多次加载jni时的错误
2011-02-22 22:27 1683问题描述: 知识库经过精简之后做成了一个hr的版本, ... -
Java字符串的split函数特殊情况
2011-02-22 22:15 846split函数使用的分隔符需要注意特殊字符,比如正则表达式中的 ... -
Java RMI简单示例程序
2011-02-22 22:04 5991. 编写接口 import ... -
Java Linux环境下JNI示例程序
2011-02-22 22:02 6841. 编写Java程序(JMain.j ... -
Java Corba示例程序(JDK1.5
2011-02-22 22:01 8381. 定义idl文件 mod ... -
Apache HttpClient的简单用法
2011-02-22 21:58 869// Apache HttpClient包可以通过纯ja ... -
当finally遇到return
2011-02-22 21:55 628public static int test() thr ... -
关于jdk1.5的不同子版本在调用jni的时候报错的问题
2011-02-22 21:13 808使用jdk1.5.11在System.loadLibrary( ... -
在Ant脚本中如何调用第三方程序
2011-02-22 21:10 823部署的时候经常要求重启tomcat服务器,下面以停止和启动to ... -
MD5编码
2011-02-22 17:42 605public static String makeMD5(b ... -
Runtime.getRuntime().exec()中输出和错误流引起阻塞的问题
2011-02-22 15:34 1305测试的脚本代码 #/bin/sh echo &q ... -
Java可变长参数的使用
2010-12-09 18:43 8181. 可变长参数在定义的时候只能放在方法的最后一个参数位置,一 ... -
Annotation简单使用方式
2010-12-09 17:51 8131. 定义Annotation package com.th ...
相关推荐
全文检索首先将要查询的目标文档中的词提取出来,组成索引,通过查询索引达到搜索目标文档的目的。这种先建立索引,再对索引进行搜索的过程就叫全文检索(Full-...这是一个使用lucene开源框架编写的一个简单的搜索功能
其中内容均为前段时间研究开源搜索引擎时搜集参考的资料,非常齐全包含的内容有: Computing PageRank ...基于开源工具搭建小型搜索引擎.pdf 整合开源工具的小型搜索引擎构建.pdf 用_Hadoop_进行分布式并行编程.doc
注:随光盘附带的mirror.rar文件是使用Heritrix从pconline网上抓取的手机信息页面(以网站镜象格式存储),在本书最后搜索引擎完整实例中需要使用到。由于光盘容量有限,笔者删除了原始镜像目录中一部分的网页,可能...
毕业设计,数据是百度的音乐,Heritrix爬取下来的,页面解析后保存到本地的txt也可以保存到数据库里。然后建立索引,用jsp做界面交换。
教你如何利用网上现有的开源工具搭建一个小型的搜索引擎,完成简单的搜索引擎功能,获取感兴趣的信息!
电影搜索引擎,基于lucene的电影搜索引擎,主要数据来源为百度新闻,豆瓣电影,百度百科,新浪微博 本文研究的主要内容是:面向电影搜索引擎的功能设计和技术实现。搜索引擎功能设计主要包括,信息资源的集成,查询...
搜索引擎的搭建(Lucene)文章对应的代码。详细介绍https://blog.csdn.net/yyhui95/article/details/72526193
本书基于Lucene的当前最新版本(2.1)精解了Lucene搜索引擎的相关知识,从基础知识到... 内容精练实用,书中所列代码可以搭建一座中型搜索平台,完整实例再现,让读者紧跟作者构建思路,Lucene搜索引擎技术完美演绎。
lucene的应用.pdf 01solr企业级搜索引擎准备阶段.pdf 02solr企业级搜索引擎实战演练.pdf 适合新手搭建solr使用
本书基于Lucene的当前最新版本(2.1)精解了Lucene搜索引擎的相关知识,从基础知识到... 内容精练实用,书中所列代码可以搭建一座中型搜索平台,完整实例再现,让读者紧跟作者构建思路,Lucene搜索引擎技术完美演绎。
50.搜索引擎实战(1) 51.搜索引擎实战(2) 52.搜索引擎实战(3) 53.搜索引擎实战(4) 54.搜索引擎实战(5) 55.搜索引擎实战(6) 56.搜索引擎实战(7) 57.搜索引擎实战(8) 58.搜索引擎实战(9) 59.搜索引擎实战(10) 60.搜索...
本课程由浅入深的介绍了Lucene4的发展历史,开发环境搭建,分析lucene4的中文分词原理,深入讲了lucenne4的系统架构,分析lucene4索引实现原理及性能优化,了解关于lucene4的搜索算法优化及利用java结合lucene4实现...
基于Lucene的电影搜索引擎内容介绍本文研究的主要内容是:面向电影搜索引擎的功能设计和技术实现。搜索引擎功能设计主要包括,信息资源的集成,查询扩展模块,Lucene检索模块,结果可视化。信息资源的集成主要使用...
本课程由浅入深的介绍了Lucene4的发展历史,开发环境搭建,分析lucene4的中文分词原理,深入讲了lucenne4的系统架构,分析lucene4索引实现原理及性能优化,了解关于lucene4的搜索算法优化及利用java结合lucene4实现...
1004_ASP.NET基于Ajax+Lucene构建搜索引擎的设计和实现(源代码+论文)_1004.zip
大名鼎鼎的Lucene 搜索引擎被广泛用于搜索领域,但是操作复杂繁琐,总是让开发者敬而远之。而 Elasticsearch将 Lucene 作为其核心来实现所有索引和搜索的功能,通过简单的 RESTful 语法来隐藏掉 Lucene 的复杂性,...
SOLR搭建企业搜索平台。solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目。
使用Solr进行创建索引和搜索索引的实现方法很简单,如下:*创建索引:客户端(可以是浏览器可以是Java程序)用POST方法向Solr服务器发送一个描述Field及其内容的XML文档,Solr服务器根据xml文档添加、删除、更新索引...
本资源使用 Elasticsearch结合spring data,mybatis plus,logback日志等流行框架搭建自己的全文搜索引擎,大家跟着做就能学会其中的操作方式(Java api封装方法和spring data封装的操作方法)。 注:可以结合博主...