(轉)淘淘商城系列——商品搜索功能測試


http://blog.csdn.net/yerenyuan_pku/article/details/72941506

到這里,我相信大家也是不容易,我自己也算是很不容易寫到這里,希望自己能一直寫下去。之前我們就差不多把商品搜索功能實現了,本文我們來一起測試下該搜索功能。 
首先我們要保證zookeeper、redis、image、solr服務都開啟。接着我們把taotao-common工程重新打包到本地maven倉庫,由於taotao-search-interface工程新添加了一個接口,所以我們也得把taotao-search-interface工程打包到本地maven倉庫。 
下面我們依次啟動taotao-manager、taotao-content、taotao-search三個服務,然后在啟動taotao-manager-web、taotao-portal-web和taotao-search-web這三個系統。成功啟動完之后,我們來到淘淘商城首頁,如下圖所示,我們在搜索框中輸入”手機”並按回車進行搜索。 

搜索結果如下圖,可以看到,搜索結果亂碼了。 

那么,我們怎么解決亂碼問題呢?我們可以直接在SearchController類當中解決,對請求參數進行轉碼處理,如下圖所示,工程默認的編碼是”ISO8859-1”,現在需要把它修改為”UTF-8”。 

修改完之后,我們重啟taotao-search-web工程,然后我們再在淘淘商城首頁的搜索框中輸入”手機”然后回車進行查詢,便可以看到如下圖所示界面,可以看到搜索出結果了,只是由於數據庫中存儲的圖片地址都是測試數據,是無法訪問的,因此都沒有圖片。 

這時還有功能沒有完善,那就是商品的翻頁,即下一頁、上一頁,當我們點擊上圖的下一頁時,會看到如下圖所示界面,說明請求就不正確,因為它默認訪問的端口是8082,而我們的搜索系統工程的端口是8085,因此我們需要找到控制下一頁、上一頁功能的js文件並做下修改。 

我們在search.jsp頁面當中可以看到引用了腳本文件——search_main.js,這個js文件就控制了我們的上一頁、下一頁的操作。 

我們打開search_main.js文件,在文件中搜索8082,只有一處,然后我們把8082修改為8085,如下圖所示。 

下面我們到搜索系統工程再點擊”下一頁”按鈕,會看到如下圖所示界面,發現已經正常到第2頁了,說明上一頁、下一頁功能也正常了! 

接下來,我們可以在淘淘商城后台添加一個關於手機的商品,如下圖所示,輸入完商品信息后點擊”提交”。 

我們來到數據庫tb_item表的最后一頁,可以看到我們剛才添加的手機信息,如下圖所示。 

我們馬上到搜索系統工程中,在搜索框中輸入”iPhone”然后回車即可搜索標題中帶”iPhone”字樣的商品,如下圖所示。可以看到並沒有我們剛才添加的手機,這是什么原因呢?其實很簡單,是因為我們剛才添加的商品並沒有在索引庫中,因此我們需要把數據庫中的商品與索引庫重新同步一下。 

我們到淘淘商城后台進行同步數據庫中的數據到索引庫,如下圖所示。點擊”一鍵導入商品數據到索引庫”,由於數據量較大,導入需要幾十秒的時間。 

導入成功后,我們再到搜索系統工程中進行搜索,發現這時成功搜索出該手機了! 

但是這里依然會有個問題,我們在后台添加商品的時候指定了多張圖片,我們發現雖然搜索到了結果但是商品的圖片無法正常顯示。這是什么原因造成的呢?其實也很簡單,我們看下數據庫tb_item表中存儲的數據格式,我們剛添加的手機image字段存儲的信息如下所示,可以看到是兩張圖片地址中間以”,”分隔拼成的字符串,這樣的字符串在search.jsp頁面中是無法正常顯示的,我們需要把圖片進行拆分,顯示其中的一張才行。

http://192.168.25.133/group1/M00/00/00/wKgZhVk5T0KAMuguAAD6nNM0jms024.jpg,http://192.168.25.133/group1/M00/00/00/wKgZhVk5T0KAXsKmAABvaLLSa9M334.jpg

 

要解決該問題,我們可以在taotao-common工程的SearchItem類中添加一個如下所示的方法。

public String[] getImages() { if (image != null && !"".equals(image)) { String[] strings = image.split(","); return strings; } return null; }

 


除此之外,我們還要修改search.jsp頁面,如下圖所示。 

修改了taotao-common,我們便要把taotao-common工程重新打包到本地maven倉庫,然后重啟taotao-search-web工程,重啟之后,我們重新搜索”iPhone”便可以看到圖片了,如下圖所示。 

至此,我們的商品搜索功能終於完成了!!!

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM