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

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

生活随笔

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

编程问答

lucene Hello World

發(fā)布時(shí)間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lucene Hello World 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一個(gè)lucene創(chuàng)建索引和查找索引的樣例:

創(chuàng)建索引:

public class Indexer { private IndexWriter indexWriter; /*** 構(gòu)造器實(shí)例化indexWriter* @throws Exception */ public Indexer(String indexPath) throws Exception { Directory directory = FSDirectory.open(Paths.get(indexPath));//索引存儲(chǔ)的位置 Analyzer analyzer = new StandardAnalyzer();//標(biāo)準(zhǔn)分析器 IndexWriterConfig iwc = new IndexWriterConfig(analyzer); indexWriter = new IndexWriter(directory, iwc); } /*** 關(guān)閉indexWriter* @param indexWriter* @throws IOException */ public void close() throws Exception { indexWriter.close(); } /*** 獲取文檔Document* @throws FileNotFoundException */ public Document getDocumnet(File f) throws Exception { Document doc = new Document(); doc.add(new TextField("content", new FileReader(f))); doc.add(new TextField("tittle",f.getName(),Field.Store.YES)); doc.add(new TextField("path",f.getCanonicalPath(), Field.Store.YES)); return doc; } /*** 索引當(dāng)個(gè)文件* @throws Exception */ public void indexFile(File f) throws Exception { System.out.println(f.getName()); Document doc = this.getDocumnet(f); indexWriter.addDocument(doc); } /*** 索引一個(gè)目錄下的所有文件* @param filePath 目錄路徑* @return 索引文件的個(gè)數(shù)* @throws Exception */ public int index(String filePath) throws Exception { File[] files = new File(filePath).listFiles(); for(File f:files) { this.indexFile(f); } return indexWriter.numDocs(); } public static void main(String[] args) {String indexPath = "G:\\工作\\luence\\index";String dataPath = "G:\\工作\\luence\\data";Indexer indexer = null;int indexNum=0;try {indexer = new Indexer(indexPath);indexNum = indexer.index(dataPath);} catch (Exception e) {e.printStackTrace();}finally {try {indexer.close();} catch (Exception e) {e.printStackTrace();}}System.out.println("索引了"+indexNum+"個(gè)文件");} }

查找索引:

public class Searcher { public static void search(String indexPath,String searchStr) throws Exception {Directory dir = FSDirectory.open(Paths.get(indexPath)); IndexReader indeReader = DirectoryReader.open(dir); IndexSearcher indexSearch = new IndexSearcher(indeReader);Analyzer analyzer = new StandardAnalyzer();//標(biāo)準(zhǔn)分詞器 QueryParser parser = new QueryParser("content", analyzer); Query query = parser.parse(searchStr); TopDocs td = indexSearch.search(query, 10); for(ScoreDoc sc:td.scoreDocs) { Document doc = indexSearch.doc(sc.doc); System.out.println(doc.get("tittle")); System.out.println(doc.get("path")); } } public static void main(String[] args) throws Exception { Searcher.search("G:\\工作\\luence\\index\\", "Hollywood"); } }

?

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

總結(jié)

以上是生活随笔為你收集整理的lucene Hello World的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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