日本一区二区免费播放_麻豆导航_久久精品99_国产性av_色婷婷噜噜久久国产精品12p_av福利资源_精品综合久久

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > Lucene進階:and 和or的條件查詢

Lucene進階:and 和or的條件查詢
2010-01-13 23:10:41  作者:  來源:
  在用Lucene實現全站搜索的過程中,很可能會遇到這樣的問題,只所有某種特定的信息資源,而不是全部.如:某綜合性站點,有新聞,產品,論壇,Blog,視頻等資源,而搜索的時候先選一個類型(下拉列表),再輸入關鍵字進行搜索(當然,這種情況可以直接用sql來實現,我們這里是基于lucene的實現考慮).這種情況下,就要用到and和or的查詢了.這里假設索引已經建立好了(如何建立索引請參考:http://www.javaeye.com/topic/125599),索引字段為title(標題), type(資源類型,表示新聞還是產品,product為產品,news表新聞),則實現方法如下:
Java代碼 復制代碼
  1. /**  
  2. * 根據信息分類和關鍵詞進行查詢  
  3. * @param type,資源的類型,其值為news或product  
  4. * @param searchKey,搜索的關鍵字  
  5. * @return Hits  
  6. */  
  7. public Hits executeSearch(String type,String keyword)   
  8. {   
  9.   Hits result = null;   
  10.   if(type != null && !type.equals("") && keyword != null && !keyword.equals(""))   
  11.   {   
  12.     try    
  13.     {   
  14.       //根據關鍵字構造一個數組   
  15.       String[] key = new String[]{keyword,type};   
  16.       //同時聲明一個與之對應的字段數組   
  17.       String[] fields = {"title","type"};   
  18.       //聲明BooleanClause.Occur[]數組,它表示多個條件之間的關系   
  19.       BooleanClause.Occur[] flags=new BooleanClause.Occur[]{BooleanClause.Occur.MUST,BooleanClause.Occur.MUST};   
  20.       ChineseAnalyzer analyzer = new ChineseAnalyzer();   
  21.       //用MultiFieldQueryParser得到query對象   
  22.       Query query = MultiFieldQueryParser.parse(key, fields, flags, analyzer);   
  23.       //c:/index表示我們的索引文件所在的目錄   
  24.       IndexSearcher searcher = new IndexSearcher("c:/index");   
  25.       //查詢結果   
  26.       result = searcher.search(query);   
  27.     } catch (Exception e)   
  28.     {   
  29.       e.printStackTrace();   
  30.     }   
  31.   }   
  32.   return result;   
  33. }  

這里需要注意的就是BooleanClause.Occur[]數組,它表示多個條件之間的關系,BooleanClause.Occur.MUST表示and,BooleanClause.Occur.MUST_NOT表示not,BooleanClause.Occur.SHOULD表示or.
安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 久久久www免费人成看片 | 99久久国产综合精麻豆 | 青草青在线免费视频 | 国产成人a福利在线观看 | 黄色片网址在线观看 | 亚洲成人www | 日本免费无遮挡吸乳视频在线观看 | 精品久久成人免费第三区 | 99热这里只有精品国产在热久久 | 国产精品天天看特色大片不卡 | 免费xxxxx在线观看网站 | 欧美一区不卡二区不卡三区 | 亚洲va中文字幕无码 | 日韩在线不卡 | 国产毛毛片 | 欧美xxxwww| 国产福利午夜 | 日日干日日摸 | 天天色天 | 九九热九九| 亚洲国产精品久久久久久网站 | 97香蕉超级碰碰碰久久兔费 | 国产美女久久久 | 日本三级不卡视频 | 伊人网站在线 | 女女同性一区二区三区四区 | 亚洲国产精品综合久久久 | 久久久这里有精品999 | 亚洲人jizz| 理论片一级 | 久久艹精品 | 天海翼中文字幕 | 欧美在线一 | 女女同性一区二区三区四区 | 人人爽人人爽人人爽 | 日本成aⅴ人片日本伦 | 欧美日韩va | 色xxxx| 久久大尺度 | 久操精品在线观看 | 久久久久久久久久免费视频 |