最近看完nutch後總感覺像好好捯飭下solr,上次看到老大給我展現了下站內搜尋我便久久不能忘懷。總覺著之前搭建的nutch配上solr還是有點呆板,在nutch爬取的時候就建立索引到solr服務下,然後在solr的管理介面中選擇query,比如在q選項框中將「*:*」改寫為「title:安徽」,則在管理介面中就能看到搜尋結果,可是這個與搜尋引擎的感覺差遠了,總感覺這些結果是被solr給套在他的管理介面中了,於是自己在網上搜尋,也想整個站內搜尋一樣的東西,就算整不到那麼炫,只要整到在solr的管理介面以外的地方出現搜尋結果我就心滿意足了……
網上海搜一番,發現有人做站內搜尋的,但是也只是只言片語,沒有很全的(後來發現及時很全的也不一定適用於你,因為搞it的都具有時效性,誰知道你當前看到的乙個類是不是n年前就被標記為過時了不能用了),但是也沒辦法,多看看結合一下,於是自己開始動手拼接組裝程式了:
1.在程式中(我的環境是在myeclipse中)要能夠與solr伺服器通訊,畢竟你的索引是存在solr中的,然後就是加入搜尋條件和要搜尋的字段,再者就是乙個查詢類以及最後的結果的呈現,依次用到的是commonshttpsolrserver、solrquery、queryresponse。
3.有了jar包之後,就開始執行程式了,我的solr是裝在虛擬機器裡面,所以還要先到虛擬機器中把tomcat服務啟動(我的solr服務已經部署到tomcat伺服器下了),然後在win7系統的瀏覽器中輸入http://ip:8080/solr就可以訪問我虛擬機器裡的solr了,大體主體部分如下:
注意以上的ip為自己的ip,我的埠是8080,因為用的tomcat伺服器,如果你沒有部署到tomcat下,直接啟動solr的example下的服務應該是8389,上面主要是與solr服務通訊以及一些引數的設定;
solrquery query = new solrquery();
query.setquery("title:安徽");
query.addfield("content");
query.setstart(0);
query.setrows(15);
上面的這些**是生命乙個查詢類,並賦給查詢條件以及查詢字段
queryresponse qrsp = server.query(query);
solrdocumentlist docs = qrsp.getresults();
iterator it = docs.iterator();
while (it.hasnext())
這段**是接收相應的搜尋結果以及遍歷顯示列印搜尋結果。
友情贊助
如果你覺得博主的文章對你那麼一點小幫助,恰巧你又有想打賞博主的小衝動,那麼事不宜遲,趕緊掃一掃,小額地贊助下,攢個奶粉錢,也是讓博主有動力繼續努力,寫出更好的文章^^。
使用PHP Sphinx建立高效的站內搜尋引擎
本文摘自csdn樂知 草根 雜誌第四期 1.為什麼要使用sphinx 假設你現在運營著乙個論壇,論壇資料已經超過100w,很多使用者都反映論壇搜尋的速度非常慢,那麼這時你就可以考慮使用sphinx了 當然其他的全文檢索程式或方法也行 2.sphinx是什麼 sphinx由俄羅斯人andrew aks...
使用PHP Sphinx建立高效的站內搜尋引擎
1.為什麼要使用sphinx 假設你現在運營著乙個論壇,論壇資料已經超過100w,很多使用者都反映論壇搜尋的速度非常慢,那麼這時你就可以考慮使用sphinx了 當然其他的全文檢索程式或方法也行 2.sphinx是什麼 sphinx由俄羅斯人andrew aksyonoff 開發的高效能全文搜尋軟體包...
常用的站內搜尋技術比較
基於資料庫的搜尋 基於spider抓取的站內搜尋 全文檢索者站內搜尋軟體系統 原理 資料庫搜尋 通過spider抓取網頁,經html解析,分詞,索引實現網頁式站內搜尋。對資料庫資料進行html解析 縮略,分詞,索引,實現站內搜尋。檢索效率 非常低下 消耗大量硬體資源 高效高效 檢索範圍 無法完成全文...