DANCE WITH JAVA

          開發(fā)出高質(zhì)量的系統(tǒng)

          常用鏈接

          統(tǒng)計(jì)

          積分與排名

          好友之家

          最新評(píng)論

          lucene的豐富的各種查詢(一)

          lucene支持十分豐富的查詢,這里列寫其中一些比較常用的查詢的用法。
          term查詢、queryParser查詢 ,booleanQuery
          package search;

          import org.apache.lucene.analysis.standard.StandardAnalyzer;
          import org.apache.lucene.index.Term;
          import org.apache.lucene.queryParser.QueryParser;
          import org.apache.lucene.search.BooleanQuery;
          import org.apache.lucene.search.Hits;
          import org.apache.lucene.search.IndexSearcher;
          import org.apache.lucene.search.Query;
          import org.apache.lucene.search.TermQuery;
          import org.apache.lucene.store.Directory;
          import org.apache.lucene.store.FSDirectory;

          public class Searcher {
              
          public static void termQuery() throws Exception{
                  Directory directory 
          = FSDirectory.getDirectory("./index"false); 
                  IndexSearcher searcher 
          = new IndexSearcher(directory);
                  Term t 
          = new Term("body","document");
                  Query query 
          = new TermQuery(t);
                  Hits hits 
          = searcher.search(query);
                  System.out.println(hits.length());
              }

              
          public static void queryParser() throws Exception{
                  Directory directory 
          = FSDirectory.getDirectory("./index"false); 
                  IndexSearcher searcher 
          = new IndexSearcher(directory);
                  Query query 
          = QueryParser.parse("text","body",new StandardAnalyzer());
                  Hits hits 
          = searcher.search(query);
                  System.out.println(hits.length());
              }

              
          public static void booleanQuery() throws Exception{
                  Query parseQuery 
          = QueryParser.parse("text","body",new StandardAnalyzer());
                  Term t 
          = new Term("body","document");
                  Query termQuery 
          = new TermQuery(t);
                  BooleanQuery boolQuery 
          = new BooleanQuery();
                  boolQuery.add(parseQuery,
          true,false);
                  boolQuery.add(termQuery,
          true,false);
                  
                  Directory directory 
          = FSDirectory.getDirectory("./index"false); 
                  IndexSearcher searcher 
          = new IndexSearcher(directory);
                  Hits hits 
          = searcher.search(boolQuery);
                  System.out.println(hits.length());
              }

              
          public static void main(String[] args) throws Exception{
                  termQuery();
                  queryParser();
                  booleanQuery();
              }

          }


          posted on 2007-06-21 15:06 dreamstone 閱讀(3264) 評(píng)論(6)  編輯  收藏 所屬分類: 搜索引擎lucence

          評(píng)論

          # re: lucene的豐富的各種查詢(一) 2008-06-18 17:29 eitrade

          收藏了..  回復(fù)  更多評(píng)論   

          # re: lucene的豐富的各種查詢(一) 2008-06-18 17:29 3wdotec

          不錯(cuò)..  回復(fù)  更多評(píng)論   

          # re: lucene的豐富的各種查詢(一) 2008-06-18 17:29 環(huán)保袋

          謝謝..  回復(fù)  更多評(píng)論   

          # re: lucene的豐富的各種查詢(一) 2008-07-02 10:00 renkui

          謝謝分享  回復(fù)  更多評(píng)論   

          # re: lucene的豐富的各種查詢(一) 2009-06-12 13:54 min

          也學(xué)了LUcene,自己開發(fā)了個(gè)小型的系統(tǒng),
          http://www.tudoupian.com
          但是效果不怎么好,看了你這篇才知道Lucene查詢有這么靈活。
            回復(fù)  更多評(píng)論   

          # re: lucene的豐富的各種查詢(一) 2009-06-12 13:55 min

          怎么結(jié)合 term booleanQuery?
          想給 http://www.tudoupian.com 做個(gè)價(jià)格范圍的查詢,聽說rangeQuery很慢,
            回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 开封县| 水富县| 伊金霍洛旗| 襄汾县| 东乡族自治县| 九龙城区| 修文县| 海城市| 钟山县| 霍林郭勒市| 泸州市| 苍梧县| 台中市| 淄博市| 老河口市| 营山县| 固原市| 施秉县| 雅安市| 淄博市| 滦平县| 临江市| 津南区| 成都市| 治县。| 霸州市| 琼海市| 砀山县| 镇远县| 调兵山市| 伽师县| 西华县| 绥中县| 保靖县| 巨鹿县| 齐河县| 元阳县| 马龙县| 横山县| 长海县| 文成县|