java Lucene 的检索功能:查询、创建、删除,javalucene,包了一下 Lucene
分享于 点击 24314 次 点评:11
java Lucene 的检索功能:查询、创建、删除,javalucene,包了一下 Lucene
包了一下 Lucene 的检索功能提共了:查询、创建、删除功能
检索case
//测试代码public class Example { final static LuceneFactory factory = LuceneFactory.getFactory(Example.class .getResource("/").getPath()); public void write() throws IOException { LuceneBuilder builder = LuceneBuilder.Builder(factory); Write write = builder.getWrite(); for (int i = 0; i < 1000; i++) { write.write(factory.createIndexField("tag1", "缴费条件TAG1的内容 23234"), factory.createStoreField("tag2", String.valueOf(i)), factory.createStoreIndexField("tag3", "缴费条件TAG3的内容 23234")); } write.close(); } public void update() throws IOException { LuceneBuilder builder = LuceneBuilder.Builder(factory); Update update = builder.getUpdate(); // 查询出要删除的内容 Query query = builder.getQuery(); List<Element> documents = query.forList( factory.createSearch("tag1", "23234")).list(0, 10); query.close(); // 删除内容 for (Element line : documents) { update.remove(line); } update.close(); } public void query() throws IOException { LuceneBuilder builder = LuceneBuilder.Builder(factory); Query query = builder.getQuery(); // 查询出内容 DocResult dr = query.forList(factory.createSearch("tag1", "23234")); List<Element> documents = dr.list(10, 20); System.out.println("总条数:" + dr.count()); // for (Element line : documents) { System.out.print(line.getDocument().get("tag2")); System.out.print("\t"); System.out.print(line.getDocument().get("tag3")); System.out.println(); } query.close(); } public static void main(String args[]) throws Exception { /** * 运行顺序: * * 1、调用 write * * 2、调用query * * 3、调用update * * */ Example m = new Example(); // m.write(); //创建测试,干掉注释就可执行 // m.update(); //删除测试,干掉注释就可执行 m.query(); // 查询测试 }}
用户点评