日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

lucene,基于QueryParser的搜索

發(fā)布時間:2025/7/14 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lucene,基于QueryParser的搜索 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • ????public?void?queryParse(Query?query?,?int?num?){?
  • ????????try?{?
  • ????????????TopDocs?tds?=?this.searcher.search(query,?num);?
  • ????????????System.out.println("查詢到的結(jié)果數(shù):"+tds.totalHits);?
  • ????????????for(ScoreDoc?sd?:?tds.scoreDocs){?
  • ????????????????doc?=?this.searcher.doc(sd.doc);?
  • ????????????????System.out.println("id:"+doc.get("id")+"---"+"name:"+doc.get("name")+"---"+"attachs:"+doc.get("attach")+"---"+"email:"+doc.get("email"));?
  • ????????????}?
  • ????????}?catch?(IOException?e)?{?
  • ????????????//?TODO?Auto-generated?catch?block?
  • ????????????e.printStackTrace();?
  • ????????}?finally?{?
  • ????????????try?{?
  • ????????????????this.searcher.close();?
  • ????????????}?catch?(IOException?e)?{?
  • ????????????????//?TODO?Auto-generated?catch?block?
  • ????????????????e.printStackTrace();?
  • ????????????}?
  • ????????}?
  • ????}?
  • ?
  • @Test?
  • ????public?void?testQueryParse()?throws?Exception{?
  • ????????//創(chuàng)建QueryParser對象?默認的搜索域為content?
  • ????????QueryParser?parser?=?new?QueryParser(Version.LUCENE_35,?"content",?new?StandardAnalyzer(Version.LUCENE_35));?
  • ????????//設(shè)置?空格的默認操作符為?AND??默認為OR?
  • //??????parser.setDefaultOperator(Operator.AND);?
  • ????????//開啟第一個字符的通配符配置?
  • ????????parser.setAllowLeadingWildcard(true);?
  • ????????//搜索content中包含like的?
  • ????????Query?query?=?parser.parse("like");?
  • ?????????
  • ????????//既有l(wèi)ike又有football的?
  • ????????query?=?parser.parse("like?foot?ball");?
  • ?????????
  • ????????//域name為5555的?
  • ????????query?=?parser.parse("name:5555");?
  • ?????????
  • ????????//在查詢中加入通配符配置?
  • ????????query?=?parser.parse("name:5*");?
  • ?????????
  • ????????//通配符默認不能放在首位?
  • ????????query?=?parser.parse("name:*6");?
  • ?????????
  • ????????//查詢content中包含kenan的?從中減去name為333的?加上id為6的?
  • ????????query?=?parser.parse("kenan?-name:333?+id:6");?
  • ?????????
  • ????????//字符串id從1到3?匹配一個區(qū)間?包含兩邊?
  • ????????query?=?parser.parse("id:[1?TO?3]");?
  • ?????????????????
  • ????????//字符串id從1到3?匹配一個區(qū)間?不包含兩邊?
  • ????????query?=?parser.parse("id:{1?TO?3}");?
  • ?????????????????
  • ????????//匹配?content包含foot?ball這個字符串的?
  • ????????query?=?parser.parse("\"foot?ball\"");?
  • ?????????
  • ????????//like?和ball之間的距離小于等于2的??距離是他們之間的單詞個數(shù)?
  • ????????query?=?parser.parse("\"like?ball\"~2");?
  • ?????????
  • ????????//模糊查詢?
  • ????????query?=?parser.parse("kenak~");?
  • ????????su.queryParse(query,?10);?
  • ????}?
  • ?

    轉(zhuǎn)載于:https://blog.51cto.com/soukenan/1122358

    總結(jié)

    以上是生活随笔為你收集整理的lucene,基于QueryParser的搜索的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。