lucene 4.4 demo
- ackage com.zxf.demo;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.InputStreamReader;
- import org.apache.lucene.analysis.Analyzer;
- import org.apache.lucene.analysis.standard.StandardAnalyzer;
- import org.apache.lucene.document.Document;
- import org.apache.lucene.document.Field;
- import org.apache.lucene.document.StringField;
- import org.apache.lucene.document.TextField;
- import org.apache.lucene.index.DirectoryReader;
- import org.apache.lucene.index.IndexReader;
- import org.apache.lucene.index.IndexWriter;
- import org.apache.lucene.index.IndexWriterConfig;
- import org.apache.lucene.queryparser.classic.QueryParser;
- import org.apache.lucene.search.IndexSearcher;
- import org.apache.lucene.search.Query;
- import org.apache.lucene.search.ScoreDoc;
- import org.apache.lucene.search.TopDocs;
- import org.apache.lucene.store.Directory;
- import org.apache.lucene.store.FSDirectory;
- import org.apache.lucene.util.Version;
- public class LuceneForuDemo {
- static final String INDEXPATH = System.getProperty("user.dir") + "\\index";
- static final String DATAPATH = System.getProperty("user.dir") + "\\data";
- public static void main(String[] args) {
- try{
- LuceneForuDemo.indexDirectory();
- LuceneForuDemo.search();
- }catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * 建立索引
- * @throws Exception
- */
- public static void indexDirectory() throws Exception{
- File indexDir = new File(LuceneForuDemo.INDEXPATH);
- File dataDir = new File(LuceneForuDemo.DATAPATH);
- Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_44);
- IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_44, analyzer);
- Directory dir = FSDirectory.open(indexDir);
- IndexWriter indexWriter = new IndexWriter(dir, iwc);
- File[] dataFiles = dataDir.listFiles();
- for (File file : dataFiles) {
- FileInputStream inStream = new FileInputStream(file);
- Document doc = new Document();
- Field fullFileName = new StringField("fullFileName", file.getCanonicalPath(),Field.Store.YES);
- doc.add(fullFileName);
- doc.add(new TextField("contents", new BufferedReader(
- new InputStreamReader(inStream, "UTF-8")
- )
- )
- );
- indexWriter.addDocument(doc);
- }
- indexWriter.close();
- }
- /*搜索*/
- public static void search() throws Exception{
- String field = "contents";
- String queryStr = "test"; //搜索的字符串
- File indexDir = new File(LuceneForuDemo.INDEXPATH);
- IndexReader reader = DirectoryReader.open(FSDirectory.open(indexDir));
- IndexSearcher searcher = new IndexSearcher(reader);
- Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_44);
- QueryParser parser = new QueryParser(Version.LUCENE_44, field, analyzer);
- Query query = parser.parse(queryStr);
- System.out.println("Searching for: " + query.toString(field));
- TopDocs results = searcher.search(query, 50);
- ScoreDoc[] hits = results.scoreDocs;
- int numTotalHits = results.totalHits;
- System.out.println(numTotalHits + " total matching in documents");
- for(ScoreDoc sd:hits){
- Document doc = searcher.doc(sd.doc);
- System.out.println(doc.get("fullFileName"));
- }
- }
- }
lucene 4.4 demo的更多相关文章
- 基于Lucene的文件检索Demo
通过Lucene实现了简单的文件检索功能的Demo.这个Demo支持基于文件内容的检索,支持中文分词和高亮显示. 下面简单的介绍下核心的类 1)索引相关的类 1.FileIndexBuilder -- ...
- Lucene搜索引擎例子demo
一.导入相应的jar包 KAnalyzer3.2.0Stable.jar lucene-analyzers-3.0.1.jar lucene-core-3.0.1.jar lucene-highlig ...
- 一个Lucene.Net的Demo
今天突然想来看一下全文检索,于是就了解了一下Lucene.Net,然后把公司目前的产品表拿来练手,写了这么个Demo. 先看一下Demo的代码 public class ProductReposito ...
- lucene简单搜索demo
方法类 package com.wxf.Test; import com.wxf.pojo.Goods; import org.apache.lucene.analysis.standard.Stan ...
- lucene简单使用demo
测试结构目录: 1.索引库.分词器 Configuration.java package com.test.www.web.lucene; import java.io.File; import or ...
- Lucene站内搜索的设计思路
正好近期部门有一个小需求需要做商品的搜索,虽然最终由于工作量等原因先做数据库搜索,我依然用刚接触的Lucene弄了一套自嗨. 首先看需求:搜索:根据商品标题和内容搜索 没错,就这么简单! 我想了想,数 ...
- Lucene.Net 入门级实例 浅显易懂。。。
Lucene.Net 阅读目录 开始 Lucene简介 效果图 Demo文件说明 简单使用 重点类的说明 存在问题 调整后 Lucene.Net博文与资源下载 做过站内搜索的朋友应该对Lucene.N ...
- 【转】lucene4.3.0 配置与调试
lucene4.3.0 配置与调试 demo lucene的最新版本是4.3.0, http://www.apache.org/dyn/closer.cgi/lucene/java/4.3.0 luc ...
- lucene 索引 demo
核心util /** * Alipay.com Inc. * Copyright (c) 2004-2015 All Rights Reserved/ */ package com.lucene.de ...
随机推荐
- VS2008压力测试时web测试记录器无显示
系统:win7 浏览器:IE8 web测试记录器:Web Test Recorder 在运行vs2008Web压力测试时一直在浏览器左侧的web测试记录器无显示. 解决办法: 在IE工具栏 ...
- js定义函数的几种结构形式
1.函数声明 function name(参数) { 执行的代码 } 2.函数表达式 也称匿名函数 var x = function (参数) { 执行的代码 }; //第二种方式按照完整的语法需要在 ...
- Strom的安装及使用
在使用storm之前,首先看zookeeper是否安装好 单机版 1.在node1上修改配置文件conf下的storm.yaml文件
- [转载]DOS循环:bat/批处理for命令详解 (史上虽详尽的总结和说明~~)
--本文来源于TTT BLOG: http://www.yoyotao.net/ttt/, 原文地址:http://www.yoyotao.net/ttt/post/139.html 前言: 虽然以前 ...
- Java笔记(十三)……面向对象III继承(inheritance)
继承概述 继承概述 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继那个类即可. 多个类可以称为子类,单独这个类称为父类或者超类. 子类可以直接访 ...
- Ubuntu13.04配置完全指南(转)
Ubuntu13.04配置完全指南(一)软件源 教育网推荐使用USTC软件源. 首先备份现有软件源: $ sudo cp /etc/apt/sources.list /etc/apt/sources. ...
- 最新Blog
应该会长期稳定的 https://b.intmainreturn0.com/
- devexpress中gridcontrol 一些样式改变
改变footer为扁平化效果 整个footer背景色CustomDrawFootere.Appearance.BackColor = Color.Transparent; e.Appearance.D ...
- makeKeyAndVisible的功能
makeKeyAndVisible的作用 [self.window makeKeyAndVisible] 由于iPhone是单窗口程序,所以也就只有这么一个Window对象,而且是UIWindow,不 ...
- Win+R指令(1)
CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本.文件系统版本)1. appwiz.cpl:程序和功能 2. calc:启动计算器 3. certmgr. ...