lucene入门教程
1、百度搜索luence进入官网下载。
2、点击下载luence压缩包。
3、引入luence必须的jar到你的web工程。
4、将其jar放入到项目的lib目录下,图中的index目录是luence定义的检索目录。
5、创建luence全文检索(复制如下代码到myeclipse中ctrl+shift+o,ctrl+shift+f 如果快捷键失灵一般是和输入刮茕栓双法快捷键冲突),代码如下:@Test public void createIndex() throws Exception { // 索引存放位置 Directory directory = FSDirectory.open(new File("index/")); // 版本 Version version = Version.LUCENE_44; // 分词器 Analyzer analyzer = new StandardAnalyzer(version); // 索引配置 IndexWriterConfig indexWriterConfig = new IndexWriterConfig(version, analyzer); // 创建操作索引对象 IndexWriter indexWriter = new IndexWriter(directory, indexWriterConfig); // 创建document Document document = new Document(); IndexableField intField = new IntField("age", 123, Store.YES); IndexableField strField = new StringField("name", "张三", Store.YES); IndexableField txtField = new TextField("content", "张三是个教师!", Store.YES); document.add(intField); document.add(strField); document.add(txtField); indexWriter.addDocument(document); indexWriter.close(); }
6、从luence索引文件中检索数倌栗受绽据,代码如下:@Test public void searchIndex() throws Ex艘早祓胂ception { // 索引存放位置 Directory directory = FSDirectory.open(new File("index/")); IndexReader indexReader = DirectoryReader.open(directory); IndexSearcher indexSearcher = new IndexSearcher(indexReader); Query query = new TermQuery(new Term("content", "教")); TopDocs topDocs = indexSearcher.search(query, 10); int count = topDocs.totalHits; System.out.println("count:" + count); ScoreDoc[] scoreDocs = topDocs.scoreDocs; Document document = null; for (ScoreDoc scoreDoc : scoreDocs) { int docId = scoreDoc.doc; document = indexSearcher.doc(docId); String age = document.get("age"); String name = document.get("name"); String content = document.get("content"); System.out.println("age:" + age + ",name:" + name + ",content:" + content); } }
7、在运行完第一步创建之后在运行查询代码,显示如下结果。