Lucene的使用
- Directory?dir?=?FSDirectory.open(new?File("lucene.blog")); ??
- IndexWriter?writer?=?new?IndexWriter(dir,new?StandardAnalyzer(Version.LUCENE_29),true,?IndexWriter.MaxFieldLength.UNLIMITED); ??
- Document?doc?=?new?Document(); ??
- doc.add(new?Field("id",?"101",?Field.Store.YES,?Field.Index.NO)); ??
- doc.add(new?Field("name",?"kobe?bryant",?Field.Store.YES,?Field.Index.NO)); ??
- writer.addDocument(doc); ??
- writer.optimize(); ??
- writer.close();??

- Directory?dir?=?FSDirectory.open(new?File("lucene.blog"));??
- IndexWriter?writer?=?new?IndexWriter(dir,new?StandardAnalyzer(Version.LUCENE_29),true,?IndexWriter.MaxFieldLength.UNLIMITED);??
- Document?doc?=?new?Document();??
- doc.add(new?Field("id",?"101",?Field.Store.YES,?Field.Index.NO));??
- doc.add(new?Field("name",?"kobe?bryant",?Field.Store.YES,?Field.Index.NO));??
- writer.addDocument(doc);??
- writer.optimize();??
- writer.close();??
- Directory?dir?=?FSDirectory.open(new?File("lucene.blog")); ??
- IndexWriter?writer?=?new?IndexWriter(dir,?new?StandardAnalyzer(Version.LUCENE_29),?true,?IndexWriter.MaxFieldLength.UNLIMITED); ??
- writer.deleteDocuments(new?Term("id",?"101")); ??
- writer.commit(); ??
- writer.close();??

- Directory?dir?=?FSDirectory.open(new?File("lucene.blog"));??
- IndexWriter?writer?=?new?IndexWriter(dir,?new?StandardAnalyzer(Version.LUCENE_29),?true,?IndexWriter.MaxFieldLength.UNLIMITED);??
- writer.deleteDocuments(new?Term("id",?"101"));??
- writer.commit();??
- writer.close();??
- Directory?dir?=?FSDirectory.open(new?File("lucene.blog")); ??
- IndexWriter?writer?=?new?IndexWriter(dir,?new?StandardAnalyzer(Version.LUCENE_29),?true,?IndexWriter.MaxFieldLength.UNLIMITED); ??
- Document?doc?=?new?Document(); ??
- doc.add(new?Field("id",?"101",?Field.Store.YES,?Field.Index.ANALYZED)); //?Field.Index.ANALYZED?
- doc.add(new?Field("name",?"kylin?soong",?Field.Store.YES,?Field.Index.ANALYZED)); ??
- writer.updateDocument(new?Term("id",?"101"),?doc); ??
- writer.commit(); ??
- writer.close();??

- Directory?dir?=?FSDirectory.open(new?File("lucene.blog"));??
- IndexWriter?writer?=?new?IndexWriter(dir,?new?StandardAnalyzer(Version.LUCENE_29),?true,?IndexWriter.MaxFieldLength.UNLIMITED);??
- Document?doc?=?new?Document();??
- doc.add(new?Field("id",?"101",?Field.Store.YES,?Field.Index.NO));??
- doc.add(new?Field("name",?"kylin?soong",?Field.Store.YES,?Field.Index.NO));??
- writer.updateDocument(new?Term("id",?"101"),?doc);??
- writer.commit();??
- writer.close();??
- Field?field?=?new?Field( ??
- ????????"101", ??
- ????????"kobe?bryant", ??
- ????????Field.Store.YES, ??
- ????????Field.Index.ANALYZED, ??
- ????????Field.TermVector.YES);??

- Field?field?=?new?Field(??
- ????????"101",??
- ????????"kobe?bryant",??
- ????????Field.Store.YES,??
- ????????Field.Index.ANALYZED,??
- ????????Field.TermVector.YES);??
- Document?doc?=?new?Document(); ??
- NumericField?field1?=?new?NumericField("id"); ??
- field1.setIntValue(101); ??
- doc.add(field1); ??
- NumericField?field2?=?new?NumericField("price"); ??
- field1.setDoubleValue(123.50); ??
- doc.add(field2);??

- Document?doc?=?new?Document();??
- NumericField?field1?=?new?NumericField("id");??
- field1.setIntValue(101);??
- doc.add(field1);??
- NumericField?field2?=?new?NumericField("price");??
- field1.setDoubleValue(123.50);??
- doc.add(field2);??
- Document?doc?=?new?Document(); ??
- doc.add(new?NumericField("timestamp").setLongValue(new?Date().getTime())); ??
- doc.add(new?NumericField("day").setIntValue((int)?(new?Date().getTime()/24/3600))); ??
- Calendar?cal?=?Calendar.getInstance(); ??
- cal.setTime(new?Date()); ??
- doc.add(new?NumericField("dayOfMonth").setIntValue(cal.get(Calendar.DAY_OF_MONTH)));??

- Document?doc?=?new?Document();??
- doc.add(new?NumericField("timestamp").setLongValue(new?Date().getTime()));??
- doc.add(new?NumericField("day").setIntValue((int)?(new?Date().getTime()/24/3600)));??
- Calendar?cal?=?Calendar.getInstance();??
- cal.setTime(new?Date());??
- doc.add(new?NumericField("dayOfMonth").setIntValue(cal.get(Calendar.DAY_OF_MONTH)));??
- Directory?dir?=?FSDirectory.open(new?File("lucene.blog")); ??
- IndexWriter?writer?=?new?IndexWriter(dir,?new?StandardAnalyzer(Version.LUCENE_29),?true,?IndexWriter.MaxFieldLength.LIMITED); ??
- writer.setMaxFieldLength(1); ??
- MergePolicy?policy?=?new?LogByteSizeMergePolicy(writer); ??
- writer.setMergePolicy(policy); ??
- writer.optimize(5); ??
- writer.close();??

- Directory?dir?=?FSDirectory.open(new?File("lucene.blog"));??
- IndexWriter?writer?=?new?IndexWriter(dir,?new?StandardAnalyzer(Version.LUCENE_29),?true,?IndexWriter.MaxFieldLength.LIMITED);??
- writer.setMaxFieldLength(1);??
- MergePolicy?policy?=?new?LogByteSizeMergePolicy(writer);??
- writer.setMergePolicy(policy);??
- writer.optimize(5);??
- writer.close();??
- IndexReader?reader?=?IndexReader.open(FSDirectory.open(new?File("lucene.blog")),true); ??
- IndexSearcher?searcher?=?new?IndexSearcher(reader);? ??
- Term?term?=?new?Term("id","101"); ??
- Query?query?=?new?TermQuery(term); ??
- TopDocs?topDocs?=?searcher.search(query,?10); ??
- System.out.println(topDocs.totalHits); ??
- ScoreDoc[]?docs?=?topDocs.scoreDocs; ??
- System.out.println(docs[0].doc?+?"?"?+?docs[0].score); ??
- Document?doc?=?searcher.doc(docs[0].doc); ??
- System.out.println(doc.get("id"));??

- IndexReader?reader?=?IndexReader.open(FSDirectory.open(new?File("lucene.blog")),true);??
- IndexSearcher?searcher?=?new?IndexSearcher(reader);???
- Term?term?=?new?Term("id","101");??
- Query?query?=?new?TermQuery(term);??
- TopDocs?topDocs?=?searcher.search(query,?10);??
- System.out.println(topDocs.totalHits);??
- ScoreDoc[]?docs?=?topDocs.scoreDocs;??
- System.out.println(docs[0].doc?+?"?"?+?docs[0].score);??
- Document?doc?=?searcher.doc(docs[0].doc);??
- System.out.println(doc.get("id"));??
- IndexReader?reader?=?IndexReader.open(FSDirectory.open(new?File("lucene.blog")),true); ??
- IndexSearcher?searcher?=?new?IndexSearcher(reader); ??
- Analyzer?analyzer?=?new?StandardAnalyzer(Version.LUCENE_29); ??
- QueryParser?parser?=?new?QueryParser(Version.LUCENE_29,"name",analyzer); ??
- String?queryString?=?"kobe"; ??
- Query?query?=?parser.parse(queryString); ??
- TopScoreDocCollector?collector?=?TopScoreDocCollector.create(10,?false); ??
- searcher.search(query,?collector); ??
- ScoreDoc[]?hits?=?collector.topDocs().scoreDocs; ??
- for(int?i?=?0?;?i?<?hits.length?;?i?++)?{ ??
- Document??doc?=?searcher.doc(hits[i].doc); ??
- String?name?=?doc.get("name"); ??
- if?(name?!=?null)?{ ??
- ????System.out.println(name); ??
- } ??
- }??

- IndexReader?reader?=?IndexReader.open(FSDirectory.open(new?File("lucene.blog")),true);??
- IndexSearcher?searcher?=?new?IndexSearcher(reader);??
- Analyzer?analyzer?=?new?StandardAnalyzer(Version.LUCENE_29);??
- QueryParser?parser?=?new?QueryParser(Version.LUCENE_29,"name",analyzer);??
- String?queryString?=?"kobe";??
- Query?query?=?parser.parse(queryString);??
- TopScoreDocCollector?collector?=?TopScoreDocCollector.create(10,?false);??
- searcher.search(query,?collector);??
- ScoreDoc[]?hits?=?collector.topDocs().scoreDocs;??
- for(int?i?=?0?;?i?<?hits.length?;?i?++)?{??
- Document??doc?=?searcher.doc(hits[i].doc);??
- String?name?=?doc.get("name");??
- if?(name?!=?null)?{??
- ????System.out.println(name);??
- }??
- }??
?
?