package com.wj.lucene; import java.io.File; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; 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.index.Term; import org.apache.lucene.queryParser.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.SimpleFSDirectory; import org.apache.lucene.util.Version; /** * Lucene3.0 CRUD操作 * 更能如下: * 追加、查询所有、删除索引 * * @author jcom * @date 2010-9-28 * */ public class zjIndex { private static final Log LOGGER = LogFactory.getLog(zjIndex.class); private static String path = "c:/index"; private static Directory dir = null; public static void main(String[] args) throws Exception { dir = new SimpleFSDirectory(new File(path)); //追加数据 superAdditionIndex(); //查询输出所有数据 searchAll(); //删除 deleteIndex(); } /** * 追加数据 */ public static void superAdditionIndex() { System.out.println("追加开始=============="); try { IndexWriter write = new IndexWriter(dir, new StandardAnalyzer( Version.LUCENE_30), false, IndexWriter.MaxFieldLength.UNLIMITED); Document doc = new Document(); doc.add(new Field("id", "234567", Field.Store.YES, Field.Index.NOT_ANALYZED)); doc.add(new Field("userName", "王二", Field.Store.YES, Field.Index.ANALYZED)); doc.add(new Field("comefrom", "南京", Field.Store.YES, Field.Index.ANALYZED)); Term term = new Term("id", "234567"); /** * 调用updateDocument的方法,传给它一个新的doc来更新数据, * Term term = new Term("id","234567"); * 先去索引文件里查找id为234567的Doc,如果有就更新它(如果有多条,最后更新后只有一条)。如果没有就新增. * * 数据库更新的时候,我们可以只针对某个列来更新,而lucene只能针对一行数据更新。 */ write.updateDocument(term, doc); write.commit(); write.close(); } catch (Exception e) { LOGGER.info(e.getMessage()); } System.out.println("追加王二成功=========="); System.out.println("追加结束==============\n"); }
详细解决方案
lucene3.0 CRUD范例(三)
热度:570 发布时间:2012-11-10 10:48:51.0
相关解决方案
- ASP.NET Web API & Backbone (二) ―― CRUD
- jQuery MiniUI 快速入门:CRUD(3)
- lucene3.0 例1
- Lucene3.0.1 学习札记
- 【转】lucene3.0入门范例
- lucene3.0 CRUD范例(一)
- lucene3.0 CRUD范例(三)
- lucene3.0 CRUD范例(二)
- lucene3.0 CRUD范例(四)
- extjs2.0通用的grid包袱(crud,以及导出execl)
- ————lucene3.5 全文检索案例demo———0.5秒检索1000万数据解决方案
- ————lucene3.5 全文检索案例————0.1秒检索60万数据解决方法
- Scooter Framework——简单化的Java CRUD
- golang(4)使用beego + ace admin 开发后台系统 CRUD
- spring JedisCluster操作rediscluster crud
- 基于注解的IOC案例(CRUD)
- MyBatis-03-CRUD
- Oracle基础篇——CRUD(3)
- MyBatis-Plus (7) CRUD 接口
- avue avue-crud 日期格式设置不成功
- sd.js帮助您简化繁重的获取数据、存储数据(CRUD)骚操作(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
- MySQL:CRUD(增删查改)
- 用mybatis 对数据库操作 做 student crud
- 利用spring整合mybatis做 student crud
- Mybatis - 使用Annotation完成Mybatis CRUD
- Ruby on rails 实战圣经:打造 CRUD 应用程序
- 【JavaLearn】#(18)JDBC基本操作(CRUD)、使用PreparedStatement、JDBC事务、员工管理系统、Properties类、log4j框架、数据库连接池
- CRUD---数据库SQL操作
- Hive crud
- avue crud 清空所有选中selection