lucene的一个Helloworld例子,麻雀虽小,五脏俱全。
所需jar包:lucene-analyzers-3.6.2.jar、lucene-core-3.6.2.jar、junit-4.4.jar
import java.io.IOException; 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.index.CorruptIndexException; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriter.MaxFieldLength; import org.apache.lucene.queryParser.MultiFieldQueryParser; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.TopDocs; import org.apache.lucene.store.Directory; import org.apache.lucene.store.LockObtainFailedException; import org.apache.lucene.store.RAMDirectory; import org.apache.lucene.util.Version; import org.junit.Test; public class HelloWorld { @SuppressWarnings("deprecation") @Test public void luceneTest(){ Directory directory = new RAMDirectory(); Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_36); try { IndexWriter indexWriter = new IndexWriter(directory, analyzer, true, MaxFieldLength.LIMITED); Document document = new Document(); Document document2 = new Document(); String text = "我是中国人,我爱中国."; String text2 = "我是中国人,我爱中国."; document.add(new Field("fieldname", text, Field.Store.YES, Field.Index.ANALYZED)); document2.add(new Field("fieldname", text2, Field.Store.YES, Field.Index.ANALYZED)); indexWriter.addDocument(document); indexWriter.addDocument(document2); indexWriter.optimize(); indexWriter.close(); // Now search the index; IndexSearcher isearcher = new IndexSearcher(directory); // Parse a simple query that searches for "中国人" String [] queryFileds = {"fieldname"}; QueryParser parser = new MultiFieldQueryParser(Version.LUCENE_36, queryFileds, analyzer); Query query = parser.parse("中国人"); TopDocs result = isearcher.search(query, 1000); System.out.println("检索到"+result.totalHits+"条符合条件的数据."); isearcher.close(); directory.close(); } catch (CorruptIndexException e) { e.printStackTrace(); } catch (LockObtainFailedException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } } }
相关推荐
例如,一个英文分词器可能会将句子"Hello World"拆分为"Hello"和"World"两个术语。 在导入这个Demo项目后,开发者可以查看和学习如何实例化分词器、创建索引以及执行搜索。分词器的配置是灵活的,可以根据需求选择...
本篇文章将深入探讨Lucene的几个常见示例,包括`LuceneDemo`、`LuceneZJ`、`Lucene_HelloWorld`,帮助初学者快速理解Lucene的基本操作。 1. **Lucene_HelloWorld** 这个示例是入门Lucene的首选,它展示了如何创建...
- 通过一个简单的例子展示如何使用`IndexWriter`来创建一个新的索引。 - **索引创建类IndexWriter**: - `org.apache.lucene.index.IndexWriter`是用于创建和修改索引的核心类,它提供了高级API来添加新文档、...
在给定的代码中,`Index`方法创建了一个包含100条记录的索引,每条记录的`name`字段从`name1`到`name100`,`value`字段都为`"Hello, World!"`。然后,`Search`方法使用`QueryParser`解析查询`name*`,并打印出所有...
本文将通过一个简单的“Hello World”示例,帮助你初步了解如何使用Lucene进行文本检索。 首先,我们需要理解Lucene的基本工作流程。Lucene的索引过程主要包括文档的分析、索引构建和存储。分析阶段,Lucene会将...
"hello-lucene_master.zip"是压缩包中的一个子文件,暗示了我们可能将要探讨的是关于Apache Lucene的教程。Lucene是一个强大的开源全文搜索库,广泛用于构建高效的搜索引擎。它提供了一个灵活且高性能的索引和搜索...
例如,`java -classpath lucene-core-2.0.jar:commons-lang.jar:./bin helloworld`。确保所有依赖的JAR文件和当前目录(`./bin`)都被正确地包含在类路径中,以便Java虚拟机能够找到并加载相应的类。 2. **Tomcat...
- Hello World:通过一个简单的例子展示如何使用Logstash。 - 配置语法:介绍Logstash配置文件的语法和结构。 - Plugin的安装:介绍如何安装和管理Logstash的插件。 插件配置: - Input配置:Logstash可以从多种...
在详细内容中,我们可以看到一个“HelloWorld”插件示例,这是一个扩展了RequestHandlerBase的简单插件,展示了如何编写自定义的Solr请求处理器。在这个示例中,处理器会处理包含name和age参数的查询请求,并在响应...
Message-Driven Bean EJB实例源代码 2个目标文件 摘要:Java源码,初学实例,EJB实例 Message-Driven Bean EJB实例源代码,演示一个接收购物订单的消息驱动Bean,处理这个订单同时通过e-mail的形式 //给客户发一个感谢...