日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lucene,基于QueryParser的搜索

發布時間:2025/7/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lucene,基于QueryParser的搜索 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • ????public?void?queryParse(Query?query?,?int?num?){?
  • ????????try?{?
  • ????????????TopDocs?tds?=?this.searcher.search(query,?num);?
  • ????????????System.out.println("查詢到的結果數:"+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{?
  • ????????//創建QueryParser對象?默認的搜索域為content?
  • ????????QueryParser?parser?=?new?QueryParser(Version.LUCENE_35,?"content",?new?StandardAnalyzer(Version.LUCENE_35));?
  • ????????//設置?空格的默認操作符為?AND??默認為OR?
  • //??????parser.setDefaultOperator(Operator.AND);?
  • ????????//開啟第一個字符的通配符配置?
  • ????????parser.setAllowLeadingWildcard(true);?
  • ????????//搜索content中包含like的?
  • ????????Query?query?=?parser.parse("like");?
  • ?????????
  • ????????//既有like又有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?匹配一個區間?包含兩邊?
  • ????????query?=?parser.parse("id:[1?TO?3]");?
  • ?????????????????
  • ????????//字符串id從1到3?匹配一個區間?不包含兩邊?
  • ????????query?=?parser.parse("id:{1?TO?3}");?
  • ?????????????????
  • ????????//匹配?content包含foot?ball這個字符串的?
  • ????????query?=?parser.parse("\"foot?ball\"");?
  • ?????????
  • ????????//like?和ball之間的距離小于等于2的??距離是他們之間的單詞個數?
  • ????????query?=?parser.parse("\"like?ball\"~2");?
  • ?????????
  • ????????//模糊查詢?
  • ????????query?=?parser.parse("kenak~");?
  • ????????su.queryParse(query,?10);?
  • ????}?
  • ?

    轉載于:https://blog.51cto.com/soukenan/1122358

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。