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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

搜索引擎学习(六)Query的子类查询

發(fā)布時(shí)間:2024/4/17 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搜索引擎学习(六)Query的子类查询 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Query的子類查詢

PS:這是通用代碼,下面的子類查詢調(diào)用到的時(shí)候就不再寫(xiě)這部分的具體的實(shí)現(xiàn)過(guò)程了

/*** 構(gòu)造IndexSearcher對(duì)象** @return* @throws Exception*/private IndexSearcher getIndexSearcher() throws Exception {/*創(chuàng)建一個(gè)Directory對(duì)象,指定索引庫(kù)的位置*/Directory directory = FSDirectory.open(new File("E:\\zhanghaoBF\\luceneSolr\\indexLibrary").toPath());//磁盤(pán)(硬盤(pán))上的路徑/*創(chuàng)建一個(gè)IndexReader(索引讀取)對(duì)象*/IndexReader indexReader = DirectoryReader.open(directory);//打開(kāi)索引庫(kù)(此對(duì)象為流對(duì)象)/*創(chuàng)建一個(gè)IndexSearcher(索引搜索)對(duì)象*/IndexSearcher indexSearcher = new IndexSearcher(indexReader);return indexSearcher;//索引對(duì)象 }/*** 執(zhí)行查詢并打印結(jié)果** @param query* @param indexSearcher* @throws Exception*/private void printResult(Query query, IndexSearcher indexSearcher) throws Exception {/*執(zhí)行查詢*/TopDocs topDocs = indexSearcher.search(query, 10);//根據(jù)query搜索,返回評(píng)分最高的10條/*返回查詢結(jié)果,遍歷查詢結(jié)果并輸出*/ScoreDoc[] scoreDocs = topDocs.scoreDocs;//PS:注意這里返回的是文檔id的數(shù)組for (ScoreDoc scoreDoc : scoreDocs) {int docId = scoreDoc.doc;//文檔IDDocument document = indexSearcher.doc(docId);//對(duì)應(yīng)的文檔 String fileName = document.get("fileName");//文件名稱 System.out.println(fileName);String fileSize = document.get("fileSize");//文件大小 System.out.println(fileSize);String filePath = document.get("filePath");//文件路徑 System.out.println(filePath);System.out.println("----------華麗的分割線----------");}} View Code

MatchAllDocsQuery

MatchAllDocsQuery子類查詢方法的作用是查詢索引目錄下的所有文檔id數(shù)組。

/*** 查詢索引目錄下的所有文檔** @throws Exception*/@Testpublic void testMatchAllDocsQuery() throws Exception {//獲取IndexSearcher(索引搜索)對(duì)象IndexSearcher indexSearcher = getIndexSearcher();//新建查詢子類對(duì)象Query query = new MatchAllDocsQuery();//執(zhí)行查詢并打印結(jié)果 printResult(query, indexSearcher);}

TermQuery

TermQuery子類查詢方法的作用是對(duì)指定的域關(guān)鍵詞進(jìn)行精準(zhǔn)查詢

/*** 對(duì)指定的域和關(guān)鍵詞進(jìn)行精準(zhǔn)查詢** @throws Exception*/@Testpublic void testTermQuery() throws Exception {//獲取IndexSearcher(索引搜索)對(duì)象IndexSearcher indexSearcher = getIndexSearcher();//構(gòu)造查詢條件Term condition = new Term("fileContent", "lucene");//新建查詢子類對(duì)象Query query = new TermQuery(condition);//執(zhí)行查詢并打印結(jié)果 printResult(query, indexSearcher);}

LongPoint.newRangeQuery(老版本用的NumericRangQuery)

LongPoint.newRangeQuery子類查詢方法的作用是查詢域長(zhǎng)度在指定范圍內(nèi)的文檔id數(shù)組。

/*** 根據(jù)數(shù)值范圍查詢** @throws Exception*/@Testpublic void testNumericRangQuery() throws Exception {//獲取IndexSearcher(索引搜索)對(duì)象IndexSearcher indexSearcher = getIndexSearcher();//新建查詢子類對(duì)象(老版本用的是NumericRangQuery)Query query = LongPoint.newRangeQuery("fileSize", 1L, 200L);//查詢長(zhǎng)度在1-200之間的索引文檔id數(shù)組//執(zhí)行查詢并打印結(jié)果 printResult(query, indexSearcher);}

BooleanQuery.Builder(老版本不用指定builder,可以直接new出BooleanQuery對(duì)象后直接添加query條件)

BooleanQuery.Builder子類查詢方法的作用是組合條件查詢(多條件查詢)。

/*** 組合查詢(多條件查詢)** BooleanClause.Occur.MUST(必須滿足此條件)【相當(dāng)于sql中的and】* BooleanClause.Occur.SHOULD(可以滿足也可以不滿足)【相當(dāng)于sql中的or】* BooleanClause.Occur.MUST_NOT(必須不滿足此條件)【相當(dāng)于sql中的not】** @throws Exception*/@Testpublic void testBooleanQuery() throws Exception {//獲取IndexSearcher(索引搜索)對(duì)象IndexSearcher indexSearcher = getIndexSearcher();//構(gòu)造查詢條件Query query1 = new TermQuery(new Term("fileName", "lucene"));Query query2 = new TermQuery(new Term("fileContent", "lucene"));//新建查詢子類對(duì)象(老版本不用指定builder,可以直接new出BooleanQuery對(duì)象后直接添加query條件)BooleanQuery.Builder builder = new BooleanQuery.Builder();builder.add(query1, BooleanClause.Occur.MUST);builder.add(query2, BooleanClause.Occur.MUST);BooleanQuery booleanQuery = builder.build();//執(zhí)行查詢并打印結(jié)果 printResult(booleanQuery, indexSearcher);}

?

轉(zhuǎn)載于:https://www.cnblogs.com/riches/p/11479027.html

總結(jié)

以上是生活随笔為你收集整理的搜索引擎学习(六)Query的子类查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 精品九九视频 | 国产一区二区三区在线免费 | 女女h百合无遮涩涩漫画软件 | 伊人激情在线 | 中文字幕丰满人伦在线 | 91美女视频 | 大象传媒成人在线观看 | 免费三级大片 | 亚洲瑟瑟 | 在线视频天堂 | 成人av地址| 国产chinesehd精品 | a级黄色一级片 | 美日韩av| 麻豆系列 | 精品热| 中文字幕免费观看 | 黄色三级小说 | 粗大黑人巨茎大战欧美成人免费看 | 国产精品午夜视频 | 亚洲精品大全 | 久久亚洲无码视频 | 国产日韩精品一区二区三区在线 | 九九爱精品视频 | 欧美午夜精品久久久久久孕妇 | 黄色尤物视频 | av成人免费在线观看 | 午夜国产一级 | 亚洲人成无码www久久久 | 美女扒开下面让男人捅 | 亚洲午夜一区二区 | 国产五十路 | 久久人人爽天天玩人人妻精品 | 亚洲国产一区在线 | 免费av网站观看 | 少妇人妻偷人精品无码视频 | 人人人人干 | 免费看黄色片网站 | 九七久久 | 欧美日韩在线一区二区三区 | 亚洲熟妇av乱码在线观看 | 91九色中文| 九九精品国产 | 日本特级淫片 | 亚洲国产视频一区二区三区 | av电影在线观看 | 免费久久 | 91精品美女 | 欧美极品少妇xxxxⅹ喷水 | 美女中文字幕 | 亚洲精品三区 | 国产免费一区二区三区四区五区 | 无码人妻精品一区二区蜜桃色欲 | 在线美女av | 欧美日韩国产精品一区二区三区 | 蜜臀久久| 亚洲天堂美女 | 天天看片天天射 | xxxxhd欧美 | 午夜av在线播放 | 黄色动漫在线免费观看 | www.天堂av | 反差在线观看免费版全集完整版 | 樱花草av | 亚洲第一区视频 | 日韩欧美亚洲精品 | 久久久久二区 | 不卡中文av| 成人一区二区视频 | 日本在线加勒比 | 在线天堂网| 亚洲精品久久久久久国 | 国产又粗又猛又黄又爽无遮挡 | 欧美性生活xxx | 黄色一级片在线播放 | 午夜精产品一区二区在线观看的 | 超碰在线网站 | 永久免费看片在线观看 | 欧美高清久久 | 免费黄色在线 | 欧美精品韩国精品 | 久久综合婷婷国产二区高清 | 五月婷婷在线观看 | 蜜臀av无码一区二区三区 | 波多野结衣中文字幕一区二区三区 | 日韩一区欧美一区 | 日韩一区二区影院 | 韩日av一区二区 | 99热免费观看 | 亚洲欧美日韩视频一区 | 中文字幕一区二区人妻电影丶 | 日韩av无码久久 | 少妇网站在线观看 | 先锋资源一区二区 | 男生和女生差差的视频 | 久久网中文字幕 | 有码一区二区三区 | 尤物精品在线观看 | 国产在线激情 |