- public class Test{
-
- Analyzer analyzer = new StandardAnalyzer();
-
- RAMDirectory directory = new RAMDirectory();
-
-
-
- public void index() throws IOException{
-
- IndexWriter indexWriter = new IndexWriter(directory,analyzer,true);
-
- Document doc1 = new Document();
-
- doc1.add(new Field("title","aaabbb",Store.YES,Index.TOKENIZED));
-
- doc1.add(new Field("content","If you would like to help promote OpenOffice",Store.YES,Index.TOKENIZED));
-
- doc1.add(new Field("time","2005",Store.YES,Index.TOKENIZED));
-
- indexWriter.addDocument(doc1);
-
- Document doc2 = new Document();
-
- doc2.add(new Field("title","bbcc",Store.YES,Index.TOKENIZED));
-
- doc2.add(new Field("content","sdfsdfsdfasdds",Store.YES,Index.TOKENIZED));
-
- doc2.add(new Field("time","2007",Store.YES,Index.TOKENIZED));
-
- indexWriter.addDocument(doc2);
-
- indexWriter.optimize();
-
- indexWriter.close();
- }
-
-
- public void termSearcher() throws IOException{
-
- IndexSearcher searcher = new IndexSearcher(directory);
-
-
- Term term = new Term("title","aaa");
-
- Query query = new TermQuery(term);
-
- searcher.search(query);
-
- searcher.close();
- }
-
-
- public void phraseSearcher() throws IOException{
-
- IndexSearcher searcher = new IndexSearcher(directory);
-
- PhraseQuery phraseQuery = new PhraseQuery();
-
-
-
-
- phraseQuery.setSlop(1);
-
- phraseQuery.add(new Term("content","would"));
-
- phraseQuery.add(new Term("content","help"));
-
-
-
-
-
-
-
-
-
- Hits hits = searcher.search(phraseQuery);
-
- printResult(hits);
-
- searcher.close();
- }
-
-
-
- public void wildcardSearcher() throws IOException{
-
- IndexSearcher searcher = new IndexSearcher(directory);
-
-
-
- WildcardQuery query = new WildcardQuery(new Term("content","a?bbb*"));
-
- Hits hits = searcher.search(query);
-
- printResult(hits);
-
- searcher.close();
- }
-
-
- public void fuzzySearcher() throws IOException{
-
- IndexSearcher search = new IndexSearcher(directory);
-
-
- FuzzyQuery query = new FuzzyQuery(new Term("content","OpenOffica"));
-
- Hits hits = search.search(query);
-
- printResult(hits);
-
- search.close();
- }
-
-
- public void prefixSearcher() throws IOException{
-
- IndexSearcher search = new IndexSearcher(directory);
-
-
- PrefixQuery query = new PrefixQuery(new Term("title","b"));
-
- Hits hits = search.search(query);
-
- printResult(hits);
-
- search.close();
-
- }
-
-
- public void rangeSearcher() throws IOException{
-
- IndexSearcher search = new IndexSearcher(directory);
-
-
-
- RangeQuery query = new RangeQuery(new Term("time","2005"),new Term("time","2007"),true);
-
- Hits hits = search.search(query);
-
- printResult(hits);
-
- search.close();
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- public void booleanSearcher() throws IOException, ParseException{
-
- IndexSearcher search = new IndexSearcher(directory);
-
- QueryParser qp1 = new QueryParser("title",new StandardAnalyzer());
-
- Query query1 = qp1.parse("aa*");
-
- QueryParser qp2 = new QueryParser("title",new StandardAnalyzer());
-
- Query query2 = qp2.parse("bb*");
-
- BooleanQuery query = new BooleanQuery();
-
-
- query.add(query1, BooleanClause.Occur.SHOULD);
-
-
-
- query.add(query2, BooleanClause.Occur.SHOULD);
-
- Hits hits = search.search(query);
-
- printResult(hits);
-
- search.close();
-
- }
-
-
-
- public void phrasePrefixSearcher() throws IOException{
-
- IndexSearcher search = new IndexSearcher(directory);
-
- PhrasePrefixQuery query = new PhrasePrefixQuery();
-
-
- query.add(new Term[]{new Term("content","would"),new Term("content","can")});
-
-
- query.add(new Term("content","help"));
-
-
-
-
- query.setSlop(1);
-
-
-
-
-
-
- Hits hits = search.search(query);
-
- printResult(hits);
-
- search.close();
- }
-
-
- public void multiFieldSearcher() throws IOException, ParseException{
-
- IndexSearcher search = new IndexSearcher(directory);
-
-
-
-
-
-
- Query query = MultiFieldQueryParser.parse( new String[]{"bb","you"},new String[]{"title","content"},new BooleanClause.Occur[]{Occur.MUST,Occur.MUST_NOT}, analyzer);
-
-
-
-
- Hits hits = search.search(query);
-
- printResult(hits);
-
- search.close();
- }
-
- public void printResult(Hits hits) throws IOException{
- for(int i = 0; i < hits.length(); i++){
- Document d = hits.doc(i);
- System.out.println(d.get("title"));
- System.out.println(d.get("content"));
- System.out.println(d.get("time"));
- }
- }
-
-
- }
posted @
2009-11-26 23:48
潇潇息一去不复返
阅读(
1802)
评论()
编辑
收藏
举报