JAVA菜鳥學習總結:Lucene的搜尋
小號 **
搜尋Lucene的學習:
** 搜尋按功能分為:垂直搜尋(細分搜尋),綜合搜尋,還此外包括站網站內搜尋軟體狀語從句:搜尋內部搜尋的關鍵字:索引搜尋引擎的英文通過網路爬蟲從網際網路電子雜誌|網頁放在臨時庫中,然後通過過濾篩選出符合規則並且索引庫沒有的網頁,放入索引庫,根據使用者就索引可以電子雜誌這些|網頁倒排索引技術(反向索引):將文件內容劃分為多個詞條,每個詞條就是索引,詞條獨一無二,包含這些詞條的文件就放在該詞條的關聯列表中,使用該索引就可以得到包含該詞條的多個文件內容的Lucene的的是開發搜尋引擎的工具包,Solr的是基於Lucene的開發的企業級搜尋引擎產品,根據實現原理就是分詞建立索引庫:資料 - >文件物件 - >索引寫入器(索引寫入器配置物件(分詞詞)器,Lucene的版本),索引庫地址) - >索引庫maven工程匯入依賴出現jre版本 對的錯,右鍵 - > maven->更新專案建立索引庫:資料 - >文件物件 - >索引寫入器(索引寫入器配置物件,分詞器) - >庫索引新建索引庫,向索引庫新增索引的案例:
——————————- @SuppressWarnings(“resource”)public static void main(String [] args)丟擲IOException {//建立文件物件Document doc = new Document(); //新增欄位,Store.YES表示儲存,NO表示不儲存// LongField IntField DoubleField // StringField TextField LongField id = new LongField(“id”,11L,Store.YES); doc.add(ID); StringField title = new StringField(“title”,“谷歌地圖之父跳槽Facebook”,Store.YES); doc.add(標題); //指定索引庫位置目錄dir = FSDirectory.open(新檔案(“D:\ index”)); //索引寫入器的配置1配置Lucene的版本2指定分詞器IndexWriterConfig iwc = new IndexWriterConfig(Version.LATEST,new StandardAnalyzer()); //建立索引寫入器indexwriter物件IndexWriter indexWriter = new IndexWriter(dir,iwc); //將資料寫入到索引庫indexWriter.addDocument(DOC); //提交indexWriter.commit(); //關閉索引寫入器indexWriter.close(); }}
索引寫入器記得提交後要關閉,不然其他索引寫入器不能訪問索引庫StringField欄位類預設不使用分詞器,所以詞條只有一個,文字欄位欄位類使用提供的分詞器,詞條項有多個Store.YES表示將資料儲存在索引的文件列表,NO表示不儲存Version.LATEST表示的Lucene的版本索引寫入器支援批量提交(引數是一個集合):Lucene的的預設的中文分詞已經被棄用,現在IK的分類器(IKanalyzer)自定義分詞器:在資源放入IKAnakyzer.cfg.xml配置檔案,建立分詞檔案,寫進自定義分詞<?xml version =“1.0”編碼=“UTF-8”? > <!DOCTYPE屬性SYSTEM“