① 哪位朋友知道用java如何實現網路爬蟲和搜索引擎的技術,說說原理最好附帶代碼 十分感謝 好的話可以追加分
heritrix抓取網頁
網頁解析的有很多就不說了,不過最好自己寫
lucene索引
首先爬蟲是需要一個處理器鏈的,網頁的抓取並非幾十行代碼就能實現的,因為有很多問題出
現。
1.獲取網頁:判斷網頁編碼,計算網頁正文位置,獲取頁面內url(url的過濾、緩存、存儲這部分還需要線程池的優化),url的分配、及線程池的啟動。
2.網頁持久化。網頁解析,網頁中樣式表、圖片等下載以及網頁的保存(xml和html)網頁快照的生成。
3.網頁的消重去噪:去掉沒用的網頁,如果是垂直搜索引擎則需要更多的判斷,可以利用內容模板和空間向量的演算法實現。
4.索引的建立及優化,主要是簡歷倒排索引。
你的分類基本上可以用內容模板和空間向量計算實現。
還有其他很多東西,一時間不能說細了。你想做到什麼程度。(比如:空間向量的演算法及結果的參考值、網頁內容模板的建立。)
② 基於java搜索引擎的實現怎麼做
獲取數據:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ; // 此方法比較高效
}
③ 如何用java實現一個十分小型的搜索引擎,需要實現思路和代碼,非常感謝!
你想要的是什麼,類似網路谷歌的么?
思路是:
利用爬蟲方式獲取各個網站的網頁內容;
通過內部的分類機制將每個頁面內容抽取關鍵字,並賦予權重值(網路競價機制)
拆分搜索文本成關鍵字,去匹配關鍵字以及按照權重排列
④ 如何利用java語言編寫一個小型的搜索引擎
一. 創建索引 1.一般創建索引的核心步驟 (1). 創建索引寫入對象IndexWriter: IndexWriter indexWriter = new IndexWriter(INDEX_STORE_PATH,new StandardAnalyzer(),create); 參數說明:INDEX_STORE_PATH:
⑤ 如何用java實現一個搜索引擎,求代碼編程,再點擊搜索按鈕之後,查找出相關的所有信息,
這個代碼,可以做得較復雜,也可以做得較簡單,要看你的測試包是什麼格式的信息。
不過,在這里貼代碼不是很現實,可以參考下,有些自然語言處理和搜索演算法的書籍看看,自己能學到非常多的東西。
⑥ Java 實現 搜索引擎
引擎類似於,模糊查找,,,
你知道資料庫吧,,就是用模糊查找語句的,
比如你找 網路 關鍵字
它會到數據把有網路的字。全部提出來
"SELECT id,title,author,content from note where title like ? or author like ? or content like ?";
就像這樣的mysql語句,
⑦ java如何實現搜索功能。比如,輸入txt就能搜索出這個文件夾內所有txt格式的文件。請給完整代碼。
importjava.io.*;
publicclassFileDemo{
publicstaticvoidmain(String[]args)throwsException{
//第一個參數是文件路徑,第二個參數是要搜索的文件擴展名
getFile("D:\JavaDemo",".txt");
}
privatestaticvoidgetFile(StringpathName,finalStringendsWith)throwsException{
Filefile=newFile(pathName);
if(!file.exists())
thrownewRuntimeException("文件不存在,你檢索個P呀。");
file.listFiles(newFileFilter(){
publicbooleanaccept(Filefile){
if(file.getName().endsWith(endsWith)){
System.out.println(file.getName());
returntrue;
}else
returnfalse;
}
});
}
}
⑧ java如何實現文件搜索功能
java實現文件搜索主要使用file類和正則表達式,如下示例:
packagecom.kiritor.util;
importjava.io.File;
importjava.io.FileFilter;
importjava.util.Arrays;
importjava.util.Collections;
importjava.util.List;
/**
*文件的相關操作類
*
*@authorKiritor
*/
publicclassFileOperation{
;
privatestaticStringfilePath;
privatestaticFile[]fileList=null;//保存文件列表,過濾掉目錄
publicFileOperation(){
}
/**構造函數的參數是一個目錄*/
publicFileOperation(Stringpath){
Filefile=newFile(path);
if(file.isDirectory())
this.contentPath=path;
else
this.filePath=path;
}
/**獲取文件列表*/
publicstaticFile[]getFiles(){
if(contentPath==null){
Filefile=newFile(filePath);
fileList=newFile[1];
fileList[0]=file;
returnfileList;
}
fileList=newFile(contentPath).listFiles(newFileFilter(){
/**使用過濾器過濾掉目錄*/
@Override
publicbooleanaccept(Filepathname){
if(pathname.isDirectory())
{
returnfalse;
}else
returntrue;
}
});
returnfileList;
}
/**對當前目錄下的所有文件進行排序*/
publicstaticFile[]sort(){
getFiles();
Arrays.sort(fileList,newFileComparator());
returnfileList;
}
publicstaticvoidtree(Filef,intlevel){
StringpreStr="";
for(inti=0;i<level;i++){
preStr+="";
}
File[]childs=f.listFiles();
//返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件。
for(inti=0;i<childs.length;i++){
System.out.println(preStr+childs[i].getName());
if(childs[i].isDirectory()){
tree(childs[i],level+1);
}
}
}
//提供一個"比較器"
.util.Comparator<File>{
@Override
publicintcompare(Fileo1,Fileo2){
//按照文件名的字典順序進行比較
returno1.getName().compareTo(o2.getName());
}
}
}
⑨ java 搜索引擎
用lucene檢索包,很強大。到官網下一個最新版本就可以進行二次開發。
至於中文支持,可以使用流行的中文分詞包,建議用用paoding。
⑩ java可以開發搜索引擎嗎
有,但不推薦。
如果想嘗試一下可以參考 @奇跡降臨pan 的答案
理由如下:
明確你需要的是哪種的。
數學功底/演算法基礎(龐大的搜索引擎建立在可靠的演算法基礎上)
消耗/功耗