﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-dragon-随笔分类-lucene</title><link>http://www.blogjava.net/javadragon/category/29097.html</link><description>dragon</description><language>zh-cn</language><lastBuildDate>Mon, 21 Jan 2008 16:36:08 GMT</lastBuildDate><pubDate>Mon, 21 Jan 2008 16:36:08 GMT</pubDate><ttl>60</ttl><item><title>lucene最基本的入门例子</title><link>http://www.blogjava.net/javadragon/archive/2008/01/21/176837.html</link><dc:creator>javadragon</dc:creator><author>javadragon</author><pubDate>Mon, 21 Jan 2008 13:02:00 GMT</pubDate><guid>http://www.blogjava.net/javadragon/archive/2008/01/21/176837.html</guid><wfw:comment>http://www.blogjava.net/javadragon/comments/176837.html</wfw:comment><comments>http://www.blogjava.net/javadragon/archive/2008/01/21/176837.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javadragon/comments/commentRss/176837.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javadragon/services/trackbacks/176837.html</trackback:ping><description><![CDATA[  最近开始搞下lucene,用空闲时间深入学习lucene的使用，希望今后能有所收获，呵呵。。.现在写的这个例子，是参考官方文档写的，写这些东西只是为了自己所走过的路，同时也非常希望得到各位兄弟的指点，让小弟少走点弯路<br /><br />package test;<br /><br />import java.io.IOException;<br /><br />import org.apache.lucene.analysis.SimpleAnalyzer;<br />import org.apache.lucene.document.Document;<br />import org.apache.lucene.document.Field;<br />import org.apache.lucene.index.CorruptIndexException;<br />import org.apache.lucene.index.IndexWriter;<br />import org.apache.lucene.queryParser.ParseException;<br />import org.apache.lucene.queryParser.QueryParser;<br />import org.apache.lucene.search.Hits;<br />import org.apache.lucene.search.IndexSearcher;<br />import org.apache.lucene.search.Query;<br />import org.apache.lucene.store.Directory;<br />import org.apache.lucene.store.FSDirectory;<br />import org.apache.lucene.store.LockObtainFailedException;<br />import org.junit.Before;<br />import org.junit.Test;<br /><br />/**<br /> * @author dragon<br /> *<br /> */<br />public class TestBase {<br />    <br />    private String path;<br /><br />    @Before<br />    public void init(){<br />        path = "/home/dragon/application/mywork/lucenetest/index";<br />    }<br />    <br />  <br />//    @Test     // 创建索引文件<br />    public void writerContent() throws CorruptIndexException, LockObtainFailedException, IOException{<br />         // IndexWriter的第三个参数为false时，则在已有的索引文件追加内容<br />        IndexWriter writer = new IndexWriter(path, new SimpleAnalyzer(), true);<br />        <br />        <br />        Document doc = new Document();<br />        String text = "Figure out which ClassLoader to use.  For JDK 1.2 and later use the";<br />        doc.add(new Field("content", text, Field.Store.YES, Field.Index.TOKENIZED));<br />        <br />        Document doc2 = new Document();<br />        String text2 = "context ClassLoader if possible.  Note: we defer linking the class";<br />        doc.add(new Field("content", text2, Field.Store.YES, Field.Index.TOKENIZED));<br />        <br />        Document doc3 = new Document();<br />        String text3 = "that calls an API only in JDK 1.2 until runtime so that we can catch";<br />        doc.add(new Field("content", text3, Field.Store.YES, Field.Index.TOKENIZED));<br />        <br />        writer.addDocument(doc);<br />        writer.addDocument(doc2);<br />        writer.addDocument(doc3);<br />         <br />        writer.optimize();<br />        writer.close();<br />        <br />    }<br />    <br />    @Test   // 搜索包含关键字key的内容<br />    public void searchContent() throws IOException, ParseException{<br />        Directory directory = FSDirectory.getDirectory(path);<br />        IndexSearcher search = new IndexSearcher(directory);<br />        <br />        String key = "use";<br />        QueryParser parser = new QueryParser("content",new SimpleAnalyzer());<br />        Query query = parser.parse(key);<br />        <br />        Hits hits = search.search(query);<br />        <br />        for(int i = 0; i &lt; hits.length(); i++){<br />            Document doc = hits.doc(i);<br />            System.out.println(" 查询结果 : "+ doc.get("content"));<br />        }<br />        <br />        search.close();<br />        directory.close();<br />        <br />    }<br />    <br />}<br /><br /><img src ="http://www.blogjava.net/javadragon/aggbug/176837.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javadragon/" target="_blank">javadragon</a> 2008-01-21 21:02 <a href="http://www.blogjava.net/javadragon/archive/2008/01/21/176837.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>