- 浏览: 313697 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (286)
- 设计模式 (14)
- spring (5)
- 开发工具 (12)
- java (19)
- apache.commons工具 (7)
- ibaits (5)
- extjs4.0 (4)
- 数据库 (2)
- spring工具类 (2)
- jquery1.8 (32)
- 杂记 (1)
- linux (2)
- Quart (1)
- springMVC (2)
- webservice (1)
- oracle (5)
- dwr (6)
- jbmp3 (27)
- lucene3.5 (27)
- javascript (18)
- hibernate3.3.2 (27)
- spring事务管理 (10)
- nio (2)
- strust2 (3)
- jvm (7)
- jquery-easyui-1.2.6 (22)
- 多线程 (14)
- maven (3)
- 常用正则表达式 (4)
最新评论
-
HF_SKY000:
请问:
一、能否提供一下密钥库文件的生成方法?
二、密钥库的密 ...
Java sslSocket 聊天实例
请您先登录,才能继续操作
环境搭建:
1、lucene-core-3.5.0.jar
2、mmseg4j-all-1.8.5-with-dic.jar(中文分词器)
3、lucene-highlighter-3.5.0.jar、lucene-memory-3.5.0.jar(高亮显示)
在全文索引工具中,都是由这样的三部分组成
1、索引部分(I am a boy)
2、分词部分
3、搜索部分
/** * 建立索引 */ public void index() { //1、创建Directory //Directory directory = new RAMDirectory();//建立在内存中 Directory directory = null; try { directory = FSDirectory.open(new File("D:/test/index01")); } catch (IOException e1) { e1.printStackTrace(); } //2、创建IndexWriter IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_36, new StandardAnalyzer( Version.LUCENE_36)); IndexWriter writer = null; try { writer = new IndexWriter(directory, config); //3、创建Document对象 Document document = null; //4、为Document添加Field Collection<File> files = FileUtils.listFiles(new File("D:/test/lucene"), FileFileFilter.FILE, null); for (File file : files) { document = new Document(); document.add(new Field("content", new FileReader(file))); document.add(new Field("filename", file.getName(), Field.Store.YES, Field.Index.NOT_ANALYZED)); document.add(new Field("path", file.getAbsolutePath(), Field.Store.YES, Field.Index.NOT_ANALYZED));//是否存储路径,是否进行分词 writer.addDocument(document); } //5、通过IndexWriter添加对象到索引中 } catch (CorruptIndexException e) { e.printStackTrace(); } catch (LockObtainFailedException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (writer != null) { try { writer.close(); } catch (CorruptIndexException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } } /** * 搜索 */ public void searcher() { try { //1、创建Directory Directory directory = FSDirectory.open(new File("D:/test/index01")); //2、创建IndexReader IndexReader reader = IndexReader.open(directory); //3、根据IndexReader创建IndexSearcher IndexSearcher searcher = new IndexSearcher(reader); //4、创建搜索的Query QueryParser parser = new QueryParser(Version.LUCENE_36, "content", new StandardAnalyzer(Version.LUCENE_36));//content表示搜索的Field Query query = parser.parse("File");//表示内容中含有“File”的 //5、根据searcher搜索并返回TopDocs TopDocs topDocs = searcher.search(query, 10);//只搜索10条 //6、根据TopDocs对象获取ScoreDoc对象 ScoreDoc[] sds = topDocs.scoreDocs; for (ScoreDoc scoreDoc : sds) { //7、根据searcher和ScoreDoc对象获取具体的Document对象 Document document = searcher.doc(scoreDoc.doc); //8、根据Document对象获取需要的值 System.out.println(document.get("filename")); System.out.println(document.get("path")); } //9、关闭reader reader.clone(); } catch (Exception e) { e.printStackTrace(); } }
发表评论
-
二十七、Luence在项目中运用
2012-12-26 15:03 1090public class LuceneContext { ... -
二十六、solr的基本使用
2012-12-26 10:26 958public class Message { p ... -
二十五、solr与tomcat的整合
2012-12-25 13:52 10471、solr是全文搜索服务器,专门用户管理索引的。 2 ... -
二十四、通过NRTManager和SearchManager实现近实时搜索
2012-12-21 11:35 1347是否进行实时搜索 实时搜索(近实时搜索) ... -
二十三、高亮显示
2012-12-20 09:24 1006public void lighter01() { ... -
二十二、Tika
2012-12-20 09:24 956Tika是2008年才产生的一个apache的项目,主要用于打 ... -
二十一、Luke
2012-12-20 09:24 807luke是一个查询索引的工具,使用时必须注意:版本要与luce ... -
二十、自定义过滤器
2012-12-20 09:23 864有的应用有些要求,对于某类型的内容即使满足条件了,但是也不 ... -
十七、搜索过滤
2012-12-20 09:23 627public void searcherByFilter(St ... -
十九、自定义QueryParser
2012-12-19 16:28 1217原因: 1、对于某些Quer ... -
十八、自定义评分
2012-12-19 16:18 789public class MyCustomScoreProvi ... -
十六、搜索排序
2012-12-19 12:14 1026public void searcherBySort(Stri ... -
十五、实现简单同义词分词器
2012-12-19 11:41 1252public interface SamewordContex ... -
十四、中文分词器
2012-11-28 13:49 860中文分词器 : Paoding:庖丁解牛分词器。 ... -
十三、自定义Stop分词器
2012-11-28 13:42 759import java.io.Reader; impor ... -
十二、Attribute
2012-11-28 13:20 822Attribute : ... -
十一、分词器的核心类
2012-11-28 13:12 900Analyzer : SimpleAnalyz ... -
十、分页搜索
2012-11-27 17:30 873分页查询有两种实现方式: 1、再查询 ... -
九、Queryparser
2012-11-27 17:24 993Mike 默认域包含mike Mi ... -
八、其他搜索Query
2012-11-27 10:30 653TermRangeQuery : 字母范围搜索 ...
相关推荐
通过学习和实践这个LuceneDemo,你可以对Lucene有一个初步的认识,了解如何创建、索引和搜索文档。随着深入学习,你会发现Lucene的强大之处在于其高度定制化的能力,可以满足各种复杂的搜索需求。在实际项目中,结合...
通过阅读书中的第1章“LUCENE基础”,读者可以建立起对Lucene基本架构和工作流程的初步认识,为进一步的学习打下坚实基础。 总之,《Lucene搜索引擎开发权威经典》是一本全面介绍Lucene的书籍,适合想要从事搜索...
**Lucene.Net搜索引擎框架概述** Lucene.Net是一个开源全文搜索...通过以上内容,你应该对Lucene.Net搜索引擎框架有了初步的认识。在实践中不断探索,你将能够熟练掌握这个强大的搜索工具,并能运用到各种.NET项目中。
读者在完成本章的学习后,应该能够对Solr有一个初步的认识,并理解如何开始利用Solr构建自己的搜索应用。随着对Solr的深入学习,用户将能够更有效地利用其提供的功能,为用户提供更好的搜索体验。 通过以上内容的...
1. 首先,对每个技术有一个初步的理解,了解它们的基本概念和应用场景。 2. 其次,通过阅读文档和教程,掌握每个技术的核心概念和操作。 3. 接着,实践编写代码,通过实际项目来加深理解。 4. 最后,参与社区讨论,...
通过以上介绍,我们对Hadoop有了初步的认识。作为一种强大的大数据处理工具,Hadoop不仅提供了分布式存储和计算的能力,而且还具备高度的可扩展性和容错性,这使得它成为现代大数据处理领域的关键技术之一。
1.4 核心框架初步认识 1.5 小结 第2章 myedipse开发工具对各种框架的支持 2.1 使用jsp的两种模式 2.2 struts框架的实现 2.3 hibernate框架的实现 2.4 jpa框架的实现 2.5 spring框架的实现 ...