国产精品一区二区精品_久久小视频_天堂va在线观看_99久久夜色精品国产亚洲96_日本手机在线视频_av成人免费

當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計軟件教程 > Lucene進(jìn)階:and 和or的條件查詢

Lucene進(jìn)階:and 和or的條件查詢
2010-01-13 23:10:41  作者:  來源:
  在用Lucene實現(xiàn)全站搜索的過程中,很可能會遇到這樣的問題,只所有某種特定的信息資源,而不是全部.如:某綜合性站點,有新聞,產(chǎn)品,論壇,Blog,視頻等資源,而搜索的時候先選一個類型(下拉列表),再輸入關(guān)鍵字進(jìn)行搜索(當(dāng)然,這種情況可以直接用sql來實現(xiàn),我們這里是基于lucene的實現(xiàn)考慮).這種情況下,就要用到and和or的查詢了.這里假設(shè)索引已經(jīng)建立好了(如何建立索引請參考:http://www.javaeye.com/topic/125599),索引字段為title(標(biāo)題), type(資源類型,表示新聞還是產(chǎn)品,product為產(chǎn)品,news表新聞),則實現(xiàn)方法如下:
Java代碼 復(fù)制代碼
  1. /**  
  2. * 根據(jù)信息分類和關(guān)鍵詞進(jìn)行查詢  
  3. * @param type,資源的類型,其值為news或product  
  4. * @param searchKey,搜索的關(guān)鍵字  
  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.       //根據(jù)關(guān)鍵字構(gòu)造一個數(shù)組   
  15.       String[] key = new String[]{keyword,type};   
  16.       //同時聲明一個與之對應(yīng)的字段數(shù)組   
  17.       String[] fields = {"title","type"};   
  18.       //聲明BooleanClause.Occur[]數(shù)組,它表示多個條件之間的關(guān)系   
  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.       //查詢結(jié)果   
  26.       result = searcher.search(query);   
  27.     } catch (Exception e)   
  28.     {   
  29.       e.printStackTrace();   
  30.     }   
  31.   }   
  32.   return result;   
  33. }  

這里需要注意的就是BooleanClause.Occur[]數(shù)組,它表示多個條件之間的關(guān)系,BooleanClause.Occur.MUST表示and,BooleanClause.Occur.MUST_NOT表示not,BooleanClause.Occur.SHOULD表示or.
安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 久草免费在线色站 | 蜜桃成人在线 | 91成人福利视频 | 日本精品区 | 91精品国产乱码 | 精品视频免费观看 | 日韩中文字幕欧美 | 日韩爱爱网 | 久久久久爽人综合网站 | 亚洲精品日韩在线 | 一区二区三区日韩视频在线观看 | 欧美一级视频在线观看 | 一区二区免费av | 国产一区二区三区在线观看视频 | 黄片一级毛片 | 久草久| www国产亚洲精品久久网站 | 亚洲图片综合网 | 91麻豆精品国产91久久久点播时间 | 蜜臀91精品国产高清在线观看 | 干片网在线| 中文字幕亚洲高清精品一区在线 | 日韩电影网站 | 午夜激情在线视频 | 成人在线观看免费 | 日本不卡在线观看视频 | 成人污在线观看 | 国产精品视频一区二区三区四区国 | 久久精品国产精品亚洲毛片 | 日韩不卡毛片 | 成人国内精品久久久久影院成.人国产9 | 99伊人 | 狠狠撸影视 | xxx免费视频 | 亚洲一区在线看 | 91电影在线观看 | 黄色精品一区二区 | www.久久久久久久久久 | 狠日日| 中文字幕天堂网 | 欧美日韩免费视频 |