- 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
潇潇息一去不复返
阅读(
1807)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律