Lucene用标准分词器搜索索引
来源:互联网 发布:淘宝店铺有几个橱窗 编辑:程序博客网 时间:2024/04/26 17:11
先来创建索引
//测试创建索引 @Test public void testIndexWriter() throws IOException{ //创建索引目录 Directory directory = FSDirectory.open(new File("d:\\directory")); //创建标准分词器 Analyzer analyzer = new StandardAnalyzer(); //索引配置 IndexWriterConfig indexWriterConfig = new IndexWriterConfig(Version.LUCENE_4_10_2, analyzer); indexWriterConfig.setOpenMode(OpenMode.CREATE); //写索引 IndexWriter indexWriter = new IndexWriter(directory,indexWriterConfig); //创建文档对象 Document doc = new Document(); doc.add(new IntField("id", 18, Store.YES)); doc.add(new TextField("title", "我们都是党的接班人yes or no?", Store.YES)); doc.add(new LongField("price", 6388L, Store.YES)); doc.add(new StringField("pic", "www.baidu.com", Store.YES)); //添加文档 indexWriter.addDocument(doc); indexWriter.commit(); indexWriter.close(); }
先不用分词器搜索索引
@Test public void testIndexSearch() throws Exception{ //创建索引目录 Directory directory = FSDirectory.open(new File("d:\\directory")); IndexReader reader = DirectoryReader.open(directory); IndexSearcher inexSearcher = new IndexSearcher(reader); //创建查询对象 Query query = new TermQuery(new Term("title","接班人")); //搜索前5条 TopDocs topDocs = inexSearcher.search(query, 5); System.out.println("命中文档数:" + topDocs.totalHits); ScoreDoc[] scoreDocs = topDocs.scoreDocs; for(ScoreDoc scoreDoc:scoreDocs){ Document doc = inexSearcher.doc(scoreDoc.doc); System.out.println("标题为:" + doc.get("title")); } }
再通过标准分词器来搜索
//测试搜索索引--分词器 @Test public void testIndexSearch() throws Exception{ //创建索引目录 Directory directory = FSDirectory.open(new File("d:\\directory")); IndexReader reader = DirectoryReader.open(directory); IndexSearcher inexSearcher = new IndexSearcher(reader); //创建分词器 Analyzer analyzer = new StandardAnalyzer(); //创建查询解析器 QueryParser queryParser = new QueryParser("title",analyzer); //创建查询对象 Query query = queryParser.parse("接班人"); //搜索前5条 TopDocs topDocs = inexSearcher.search(query, 5); System.out.println("命中文档数:" + topDocs.totalHits); ScoreDoc[] scoreDocs = topDocs.scoreDocs; for(ScoreDoc scoreDoc:scoreDocs){ Document doc = inexSearcher.doc(scoreDoc.doc); System.out.println("标题为:" + doc.get("title")); } }
0 0
- Lucene用标准分词器搜索索引
- lucene的建立索引,搜索,中文分词
- lucene内存索引库、分词器
- lucene全文搜索之二:创建索引器(创建IKAnalyzer分词器和索引目录管理)基于lucene5.5.3
- lucene分词器分词
- Lucene第二篇【抽取工具类、索引库优化、分词器、高亮、摘要、排序、多条件搜索】
- java之全文索引搜索lucene之增删改查文档与中文分词搜索
- lucene 中文分词 内存索引
- 第61天(就业班) Lucene索引库优化、内置分词器、IK分词器、关键字高亮、单字段和多字段搜索、easyui入门
- Lucene 高亮 分词 搜索
- lucene 建立多索引搜索器
- lucene--创建索引,搜索
- lucene搜索索引
- Lucene多索引搜索
- Lucene-搜索索引
- Lucene-索引创建&搜索
- lucene搜索索引
- 全文索引(三)lucene 分词器 Analyzer
- 线段树区间求和——敌兵布阵
- 学习日记-多态
- 我的第一个OpenGL程序
- 【第20题】360校园招聘2015届技术类笔试题
- Java函数参数传递例子
- Lucene用标准分词器搜索索引
- python requests post多层字典问题
- 数据倾斜处理方法
- 7.jsp原理 指令 脚本
- 《程序设计实践》有趣的句子
- stl优化-3
- 93:Triangle
- linux下非root用户安装软件入门
- 51nod-沙拉酱前缀(二分+打表)